一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Java基礎(chǔ):程序開(kāi)發(fā)流程及實(shí)例講解[圖例]

 昵稱(chēng)7823647 2011-10-13

摘要:本文講解的是java程序設(shè)計(jì)開(kāi)發(fā)的流程。通過(guò)Eclipse IDE Netbeans IDE 編程,結(jié)合實(shí)例講解,分享自己的java開(kāi)發(fā)經(jīng)驗(yàn)。

 開(kāi)發(fā)流程:1.目的及需求分析 2.程序設(shè)計(jì) 3.清理與生成;

 開(kāi)發(fā)工具:基于兩大主流開(kāi)發(fā)工具,Netbeans IDE Eclipse;

       實(shí)例:查看本機(jī)物理地址及IP


1.    基于Eclipse IDE 開(kāi)發(fā)
1.1目的及需求分析
一鍵查看本地物理地址及IP,免去先打開(kāi)cmd, 再敲 ipconfig /all
1.2程序設(shè)計(jì)

   1.2.1新建項(xiàng)目(Java Project)checkIP$PhyAddr

 

   1.2.2在源包src下新建主包main

操作:右擊src >New > package ;出現(xiàn)以下對(duì)話(huà)框(Name中填入main

 

   1.2.3在源包主包main下創(chuàng)建主類(lèi)Main,java

操作:右擊main >New > Class ;出現(xiàn)以下對(duì)話(huà)框

Name中填入Main,并勾選public static void main(String[] args)

 

   1.2.4 主類(lèi)Main.java 代碼如下:

package main;

import javax.swing.JOptionPane;

import javax.swing.UIManager;

public class Main {

        public static void main(String[] args) {

        try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

        } catch (Exception e) {

        }

        new Main().show();

    }

    private void show() {

        JOptionPane.showMessageDialog(null, "您的物理地址為:" + GetPhysicalAddress.getPhysicalAddress() + "\n您的IP為:" + GetPhysicalAddress.getIPAddress().replaceAll(",", ""), "提示", JOptionPane.INFORMATION_MESSAGE);

    }

}

   1.2.5在主包main新建GetPhysicalAddress.java 填入代碼如下:

package main;

import java.util.ArrayList;

/*

 然后設(shè)計(jì)一個(gè)GetPhysicalAddress類(lèi),這個(gè)類(lèi)用來(lái)調(diào)用Util_syscmd類(lèi)的execute方法,執(zhí)行cmd.exe/c ipconfig/all命令,并解析出網(wǎng)卡物理ip地址。getPhysicalAddress方法返回網(wǎng)卡的物理地址,如果機(jī)器中沒(méi)有安裝網(wǎng)卡或操作系統(tǒng)不支持ipconfig命令,返回not find字符串

 */

public class GetPhysicalAddress {

    // 網(wǎng)卡物理地址長(zhǎng)度

    static private final int _physicalLength = 16;

    private static ArrayList<String> result;// 執(zhí)行dos的結(jié)果集

    /**

     * 查找物理地址方法

     *

     * @return

     */

    public static String getPhysicalAddress() {

       String find_chinese = "物理地址. . . . . . . . . . . . . :";

       String find_english = "Physical Address. . . . . . . . . :";

       if ("not find".equals(parseCmd(getIpconfigResult(), find_chinese))) {

           return parseCmd(getIpconfigResult(), find_english);

       }

       return parseCmd(getIpconfigResult(), find_chinese);

    }

    /**

     * 查找IP方法

     *

     * @return

     */

    public static String getIPAddress() {

       String find_w7ipAddr = "IPv4 地址 . . . . . . . . . . . . :";

       String find_xpipAddr = "IP Address. . . . . . . . . . . . :";

       if ("not find".equals(parseCmd(getIpconfigResult(), find_w7ipAddr))) {

           return parseCmd(getIpconfigResult(), find_xpipAddr);

       }

       return parseCmd(getIpconfigResult(), find_w7ipAddr);

    }

    /**

     * 返回執(zhí)行dos命令的結(jié)果

     *

     * @return

     */

    public static String getIpconfigResult() {

       Util_syscmd shell = new Util_syscmd();

       String cmd = "cmd.exe /c ipconfig /all";

       result = shell.execute(cmd);// 執(zhí)行cmd命令,將結(jié)果保存到result

       return result.toString();// ArrayList<String>類(lèi)的結(jié)果集轉(zhuǎn)化成String類(lèi)型,并返回

    }

    // 從字符串中解析出所需要獲得的字符串

    static private String parseCmd(String s, String key) {

       // sString類(lèi)型的結(jié)果集,key從結(jié)果集查找的條件字段

       int findIndex = s.indexOf(key);

       if (findIndex == -1) {

           return "not find";

       } else {

           return s.substring(findIndex + key.length() + 1,

                  findIndex + key.length() + 2 + _physicalLength);

       }

    }

}

   1.2.6    在主包main新建Util_syscmd.java 填入代碼如下:

package main;

import java.io.*;

import java.util.*;

public class Util_syscmd {

    public ArrayList<String> execute(String shellCommand) {

       try {

           Start(shellCommand);

           ArrayList<String> vResult = new ArrayList<String>();

           DataInputStream in = new DataInputStream(p.getInputStream());

           BufferedReader reader = new BufferedReader(

                  new InputStreamReader(in));

           String line;

           do {

              line = reader.readLine();

              if (line == null) {

                  break;

              } else {

                  vResult.add(line);

              }

           } while (true);

           reader.close();

           return vResult;

       } catch (Exception e) {

           return null;

       }

    }

    /**

     * @param shellCommand

     *            調(diào)用Dos實(shí)現(xiàn)方法

     */

    public void Start(String shellCommand) {

       try {

           if (p != null) {

              kill();

           }

           Runtime sys = Runtime.getRuntime();// 初始化

           p = sys.exec(shellCommand);

       } catch (Exception e) {

           System.out.println(e.toString());

       }

    }

    /**

     * kill this process

     */

    public void kill() {

       if (p != null) {

           p.destroy();

           p = null;

       }

    }

    Process p;

}

好了,程序設(shè)計(jì)部分完成了,package Explorer 如下:

 

   1.2.7    運(yùn)行主類(lèi)程序(Ctrl+F11Main.java,出現(xiàn)如下結(jié)果:

1.3生成可執(zhí)行文件

       運(yùn)行及調(diào)試完項(xiàng)目后,我們希望不用打開(kāi)Eclipse 就可以直接運(yùn)行得到1.2.6結(jié)果,就像桌面軟件那樣雙擊鼠標(biāo)就可以了。

操作:選中項(xiàng)目checkIP$PhyAddr ,選擇Eclipse菜單File >Explore >Java >Runable JAR File>Next 按鈕


Lanuch configuration: Main - checkIP$PhyAddr ;

Explort destination(導(dǎo)出目標(biāo)): 任意(我這里選桌面,文件名字為: IP物理地址查看器);

如下圖:

 

這時(shí)是不是在桌面上看到“IP物理地址查看器.jar ”呢?

關(guān)閉Eclipse,鼠標(biāo)雙擊運(yùn)行它,看看結(jié)果吧!

2.基于Netbeans IDE 開(kāi)發(fā)

2.1目的及需求分析

一鍵查看本地物理地址及IP,免去先打開(kāi)cmd, 再敲 ipconfig /all

2.2程序設(shè)計(jì)

2.2.1新建項(xiàng)目(Java Project)checkIP$PhyAddr

      

操作:文件 > 新建項(xiàng)目 > Java >Java 應(yīng)用程序 ,出現(xiàn)如下窗口,在項(xiàng)目名稱(chēng)處寫(xiě)入項(xiàng)目名字:checkIP$PhyAddr  > 點(diǎn)擊“完成”按鈕

Netbeans會(huì)自動(dòng)生成主包checkip$phyaddr和主類(lèi)Main.java  相比于Eclipse,Netbeans為程序設(shè)計(jì)者省去了兩步(以上的1.2.2 1.2.3

 

2.2.2主類(lèi)Main.java 代碼如下(與上面的Eclipse 1.2.4 不同之處是首行package名字):

package checkip$phyaddr;

 

import javax.swing.JOptionPane;

import javax.swing.UIManager;

 

public class Main {

        public static void main(String[] args) {

        try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

        } catch (Exception e) {

        }

        new Main().show();

    }

 

    private void show() {

        JOptionPane.showMessageDialog(null, "您的物理地址為:" + GetPhysicalAddress.getPhysicalAddress() + "\n您的IP為:" + GetPhysicalAddress.getIPAddress().replaceAll(",", ""), "提示", JOptionPane.INFORMATION_MESSAGE);

    }

}

 

2.2.3    新建GetPhysicalAddress.java

 

在主包checkip$phyaddr新建GetPhysicalAddress.java 填入代碼如下(同上Eclipse 1.2.5)但是首行改為:package checkip$phyaddr;

 

2.2.4    新建Util_syscmd.java

 

在主包checkip$phyaddr新建Util_syscmd.java填入代碼如下(同上Eclipse 1.2.6)但是首行改為:package checkip$phyaddr;

 

2.2.5    運(yùn)行主類(lèi)程序(直接按鍵盤(pán)F6),出現(xiàn)如下結(jié)果:


2.3生成可執(zhí)行文件

選定主項(xiàng)目,右鍵鼠標(biāo)> 清理并生成

在輸出框里面會(huì)輸出如下信息:

復(fù)制Created dir:路徑:

D:\MyDocuments\Documents\NetBeansProjects\checkIP$PhyAddr\dist

 

打開(kāi)“我的電腦”或“計(jì)算機(jī)”,在文件路徑下粘貼復(fù)制的路徑,你會(huì)看到checkIP_PhyAddr.jar

雙擊運(yùn)行,得到同樣的結(jié)果如下:

或者復(fù)制checkIP_PhyAddr.jar 到桌面,運(yùn)行結(jié)果一樣。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    亚洲天堂精品1024| 99福利一区二区视频| 国产真人无遮挡免费视频一区| 日本高清二区视频久二区| 日本不卡片一区二区三区| 亚洲一区二区福利在线| 国产精品丝袜一二三区| 中文字幕有码视频熟女| 视频一区二区三区自拍偷| 日韩中文字幕在线不卡一区| 噜噜中文字幕一区二区| 亚洲欧美日韩综合在线成成| 国产偷拍盗摄一区二区| 欧美日韩亚洲国产综合网 | 人妻内射精品一区二区| 老司机亚洲精品一区二区| 久久精品a毛片看国产成人| 色婷婷视频免费在线观看| 男女一进一出午夜视频| 欧美三级不卡在线观线看| 高清一区二区三区不卡免费| 日韩精品一区二区毛片| 能在线看的视频你懂的| 又大又长又粗又猛国产精品| 韩国激情野战视频在线播放| 精品人妻久久一品二品三品| 国产在线一区二区免费| 少妇视频一区二区三区| 日韩高清中文字幕亚洲| 国产级别精品一区二区视频| 欧美一区二区日韩一区二区| 亚洲a码一区二区三区| 亚洲国产精品国自产拍社区| 日本午夜一本久久久综合| 亚洲精选91福利在线观看| 亚洲国产欧美久久精品| 青青免费操手机在线视频| 亚洲第一区二区三区女厕偷拍| 精品欧美在线观看国产| 亚洲日本韩国一区二区三区| 国产av熟女一区二区三区四区 |