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類的訊息提示框可以使資訊提示的比控制檯更加直接,所以我們可以將這個類的使用方法記到草稿本中,特別是使用這個方法進行報錯會有很好的效果,也希望大家能將自己發現的好方法在評論區分享出來,一起交流學習。