原做者博客地址:https://my.oschina.net/u/3823949/blog/1795895java
import javax.swing.Icon; //JOptionPane 顯示包含文本、按鈕等的標準對話框,它是用來編寫圖形用戶界面的一個類 import javax.swing.JOptionPane; public class CNumber { public static void main(String[] args) { Icon icon = null; boolean bl = false; int put = 0; int c = (int) (((Math.random())*100)+1); //獲取一個1-100的隨機數 System.out.println("你獲取的隨機數是:"+c); //打印你的隨機數字 //方法原型:JOptionPane.showInputDialog(null, text, title,value) //JOptionPane.showInputDialog方法返回用戶輸入的字符串。 //顯示在輸入對話框中的標題、消息及圖標等由傳遞給該方法的參數肯定 // 參數text是要在輸入對話框中顯示的字符串 // 參數title是要在輸入對話框的標題欄中顯示的字符串 // 參數value爲要顯示的圖標,值爲JOptionPane類常量。 // 第1個參數的值爲null表示對話框顯示在屏幕中央。 //具體可參考 https://blog.csdn.net/changjiale110/article/details/78867779 String str1 = (String) JOptionPane.showInputDialog(null,"請輸入你的猜想數字(1-100):\n","猜數字遊戲",JOptionPane.PLAIN_MESSAGE,icon,null,"在這輸入"); //第一次輸入你的猜想數字 if(str1==null){ JOptionPane.showMessageDialog(null, "你已經取消了本次遊戲"); //若是你點取消那麼本次遊戲結束 }else{ bl = num(str1); //判斷是輸入的是否是數字或者是整數 if(true==bl){ //若是是數字的話進入與隨機數比較的程序 System.out.println("你輸入的數字是:"+str1); //打印你輸入的數字 //調用Integer類中的靜態方法valueOf(String) //valueOf方法將傳入的參數String轉化爲int型值 //返回該值,若是String並非純粹由數字構成即沒法轉化爲數字,則拋出NumberFormatException.. put = Integer.valueOf(str1); for(int i = 4;i > 0;i--){ //i是你能夠猜想的次數 if(put==c){ JOptionPane.showMessageDialog(null, "恭喜你猜對了,正確答案是:"+c+"。"); //若是你猜對了就直接結束循環 break; }else if(put>c){ //若是輸大了就讓你再次重新輸入 str1 = (String) JOptionPane.showInputDialog(null,"你的輸入過大。你還有"+i+"次機會,請從新輸入:\n","猜數字遊戲",JOptionPane.PLAIN_MESSAGE,icon,null,"在這輸入"); if(str1==null){ JOptionPane.showMessageDialog(null, "你已經取消了本次輸入"); break; }else{ bl =num(str1); if(true==bl){ put = Integer.valueOf(str1); }else{ JOptionPane.showMessageDialog(null, "你的輸入不正確,請從新輸入"); } } }else if(put<c){ //若是你輸小了也讓你重新輸入 str1 = (String) JOptionPane.showInputDialog(null,"你的輸入太小。你還有"+i+"次機會,請從新輸入:\n","猜數字遊戲",JOptionPane.PLAIN_MESSAGE,icon,null,"在這輸入"); if(str1==null){ JOptionPane.showMessageDialog(null, "你已經取消了本次輸入"); break; }else{ bl =num(str1); if(true==bl){ put = Integer.valueOf(str1); }else{ JOptionPane.showMessageDialog(null, "你的輸入不正確,請從新輸入"); } } } } }else if(bl==false){ //這個是你第一次若是填寫的不是數字的話也會結束本次遊戲 JOptionPane.showMessageDialog(null, "請您下次按要求填寫。本次遊戲結束"); } if(true==bl && c!=put){ //若是你i次都沒猜對,那麼就直接告訴你這個數十什麼 JOptionPane.showMessageDialog(null, "很遺憾你沒能猜對,這個數字是:"+c+"."); } } } public static boolean num(String value){ //一個靜態方法,判斷你輸入的是否是數字 try { //Integer.parseInt(String)就是將String字符類型數據轉換爲Integer整型數據。 //Integer.parseInt(String)遇到一些不能被轉換爲整型的字符時,會拋出異常。 Integer.parseInt(value); return true; } catch (Exception e) { return false; } } }