1. 程式人生 > >Java彈窗操作2

Java彈窗操作2

Java彈窗操作2

1、任務簡介

我在5月23日寫過一篇文章為《Java彈窗操作》,從目前來看瀏覽量不錯,故我將之前省略了的兩個程式分享出來,同時也將更多的方法分享出來,供大家交流學習。
注:該部分任務我是5月完成的,可從LICEcap截圖中看到。


2、程式程式碼

(1)任務1

1)任務內容
程式設計實現一個命令窗程式,使得:
輸入“A”則在屏上回顯A字元的ASCII碼。
輸入“4”則在屏上回顯4字元的ASCII碼。
輸入“我”則在屏上回顯“我”字的漢字內碼。
等等。

2)任務程式碼
本程式需要使用語句char[] a=str.toCharArray();將字元轉換為字元陣列,同時還需要使用語句int b=Integer.valueOf(a[i]);將陣列中的元素轉為其對應的ASCII碼,具體程式碼如下:

import java.util.Scanner;//匯入java.util包下的Scanner類
import javax.swing.JOptionPane;//匯入java.swing包下的JOptionPane類
public class Test3{//類名
    public static void main(String[] args){//程式主函式
        while(true){//定義死迴圈
            System.out.print("Please input:");//提示輸入
            Scanner s=new Scanner(System.in
);//建立scanner,控制檯會一直等待輸入,直到敲回車結束 String str=s.nextLine();//將使用者的輸入轉換為字串形式 char[] a=str.toCharArray();//將字串物件中的字元轉換為一個字元陣列 if("ByeBye".equals(str)){//if語句的條件判斷使用者輸入是否為ByeBye System.out.print("The process is over");//輸出程序已結束 System.exit(0);//關閉程序 }else
{ for(int i=0;i<a.length;i++){//使用for迴圈遍歷陣列 int b=Integer.valueOf(a[i]);//將陣列中的元素轉換為其對應的ASCII碼 //使用訊息提示框輸出資訊,該資訊包含輸入的字元及其ASCII碼 JOptionPane.showMessageDialog(null, "You input is"+str+"\n"+"ASCII is"+b, str, JOptionPane.PLAIN_MESSAGE); } } } } }

3)執行結果
通過LICEcap擷取的動態圖如下:
這裡寫圖片描述

(2)任務2

1)任務內容
程式設計實現一個命令窗程式,使得:
輸入“你”則在屏上回顯“you”。
輸入“書”則在屏上回顯“book”。
輸入“中”則在屏上回顯“middle”。
輸入“中國”則在屏上回顯“China”。
…要能輸入至少100個詞。如輸入沒有記錄的詞則如下:
輸入“東東”則在屏上回顯“查不到該詞”。
輸入ByeBye則退出程式.
(提示: 單詞字典應做一個文字檔案讀入,其中每行為:<中文字詞><對應英文> )
如:字典檔案 dic.txt內容是
<我>
<你>
<中國>
……

2)任務程式碼
首先需要將製作好的txt檔案存入指定路徑中,我使用的路徑為D:\Test\dic.txt,該步驟具體操作自己執行;

其次對於讀取指定檔案的方法我在工程訓練任務2.1中已經接觸過了,要讀取文字文件中的文字資訊,需要用到BufferedReader類,BufferedReader從字元輸入流中讀取文字,緩衝各個字元,從而實現字元、陣列和行的高效讀取,通過語句 BufferedReader br= new BufferedReader(new FileReader(“檔案所在路徑”));可以將緩衝指定檔案輸入;

在讀取指定檔案中的每一行後,還需要使用substring方法為china和english賦值,最後通過訊息提示框的方式進行輸出,具體程式碼如下啊:

import java.io.*;//匯入java.io包下的所有類
import java.util.Scanner;//匯入java.util包下的Scanner類
import javax.swing.JOptionPane;//匯入java.swing包下的JOptionPane類
public class Test4{//類名
    public static void main(String[] args) throws IOException{//程式主函式
        while(true){//定義死迴圈
            System.out.print("Please input:");//提示輸入
            Scanner s=new Scanner(System.in);//建立scanner,控制檯會一直等待輸入,直到敲回車結束
            String str=s.nextLine();//將使用者的輸入轉換為字串形式
            //讀取指定的檔案
            BufferedReader br=new BufferedReader(new FileReader("D:\\Test\\dic.txt"));
            String a=null;//定義一個空字串
            boolean b=false;//定義一個布林型變數
            while((a=br.readLine())!=null){//readLine()方法, 用於讀取一行,只要讀取內容不為空就一直執行
                //使用substring方法為china和english賦值 
                String china=a.substring(a.indexOf("<")+1, a.indexOf(">"));
                String english=a.substring(a.lastIndexOf("<")+1,a.lastIndexOf(">"));
                if(str.equals(china)){//if語句判斷該中文是否存在
                    //使用訊息提示框輸出資訊,該資訊包含輸入的中文字元及其英文翻譯
                    JOptionPane.showMessageDialog(null, "You input is "+str+"\n"+"English is "+english, str, JOptionPane.PLAIN_MESSAGE);
                    b=true;
                }
            }
            if(str.equals("ByeBye")){//if語句的條件判斷使用者輸入是否為ByeBye
                System.out.print("The process is over");//輸出程序已結束
                System.exit(0);//關閉程序
            }
            if(!b){//if語句判斷該中文存在情況
                System.out.println("查不到該詞");//輸出
            }
        }
    }
}

3)執行結果
通過LICEcap擷取的動態圖如下:
這裡寫圖片描述

3、總結

通過這兩個小程式我將之前部落格中未寫的東西也分享了出來,從中可以看出使用JOptionPane類的訊息提示框可以使資訊提示的比控制檯更加直接,所以我們可以將這個類的使用方法記到草稿本中,特別是使用這個方法進行報錯會有很好的效果,也希望大家能將自己發現的好方法在評論區分享出來,一起交流學習。