08月2日 星期一

08月2日 星期一
講的最多的是幾道題:
先來一道ATM機的:

package HomeWork;

import javax.swing.JOptionPane;

public class ATM {
    public static void main(String[] args) {
        int a = 0;
        while (a < 3) {
            String userName = JOptionPane.showInputDialog("請輸入卡號");
            String pwd = JOptionPane.showInputDialog("請輸入密碼");
            if (userName.equals("admin") && pwd.equals("123456")) {
                JOptionPane.showConfirmDialog(null, "登陸成功");
                break;
            } else {
                a++;
                JOptionPane.showMessageDialog(null, "你錯誤輸入:" + a + "次");
                if (a == 3) {
                    JOptionPane.showMessageDialog(null, "你錯誤輸入超過3次:卡被吞");
                }
            }
        }
        //使用了boolean來判斷
//      int a  = 1;
//      boolean login = false;
//      while(a<=3){
//          String Username = JOptionPane.showInputDialog("請輸入卡號");
//          String pwd = JOptionPane.showInputDialog("請輸入密碼");
//          if(Username.equals("123")&&pwd.equals("456")){
//              login = true;
//              break;
//          }else{
//              a++;
//              JOptionPane.showMessageDialog(null, "登陸失敗了:"+(a-1)+"次");
//          }
//      }
//      if(login == true){
//              JOptionPane.showMessageDialog(null, "登陸成功!");
//          }else{
//              JOptionPane.showMessageDialog(null, "3次失敗,登錄失敗,吞卡請找銀行!");
//          }
    }
}

輸入一個數求階乘:

package HomeWork;

import javax.swing.JOptionPane;

public class Factorial {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String x = JOptionPane.showInputDialog("輸入一個數求階乘!");
        int num = Integer.parseInt(x);
        int sum = 1;
        for (int i = 1; i <= num; i++) {
            sum = sum * i;
        }
        JOptionPane.showMessageDialog(null, "答案是:"+sum);
    }
}

判斷是否爲素數:

package Demo;

import javax.swing.JOptionPane;

public class 只能被1和本身整除的數字_素數 {
    public static void main(String[] args) {
        String num =  JOptionPane.showInputDialog("輸入判斷是否,只能被1和本身整除的數字,最小的素數是2");
        int x = Integer.parseInt(num);
        boolean YesOrNo = false;
            for (int i = 2; i < x; i++) {
                if(x % i != 0){
                    YesOrNo = true;
                }else{
                    YesOrNo = false;
                    break;
                }
            }
            if(YesOrNo == true || x==2 ){
                JOptionPane.showMessageDialog(null, "是");
                }
            else{
                JOptionPane.showMessageDialog(null, "不是");
                }
    }
}

二進制轉化成十進制:

package Demo;

import javax.swing.JOptionPane;

public class 二進制轉化成十進制 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
         String y = JOptionPane.showInputDialog("你要輸入的二進制數是");
         if(y.matches("[0,1]{1,}")){
         int a = 1;
         int sum = 0;
         int shu = Integer.parseInt(y);
         while(shu != 0){
             sum = sum + shu % 10 * a;
             shu = shu/10;
             a = a * 2;
         }System.out.println(sum);
    }else {
        JOptionPane.showMessageDialog(null, "請輸入二進制數:0或者1");
    }
         }
}

for循環:

for循環執行的次數是在執行前就確定的。語法格式如下

for(初始化; 布爾表達式; 更新) {
    //代碼語句
}

關於for循環有以下幾點說明:

最先執行初始化步驟。可以聲明並初始化一個或多個循環控制變量,也可以是空語句。
然後,檢測布爾表達式的值。如果爲true,循環體被執行。如果爲false,循環終止,開始執行循環體後面的語句。
執行一次循環後,更新循環控制變量。
再次檢測布爾表達式。循環執行上面的過程。

do…while循環

對於while語句而言,如果不滿足條件,則不能進入循環。但有時候我們需要即使不滿足條件,也至少執行一次。

do…while循環和while循環相似,不同的是,do…while循環至少會執行一次。

do {
       //代碼語句
}while(布爾表達式);

注意:布爾表達式在循環體的後面,所以語句塊在檢測布爾表達式之前已經執行了。 如果布爾表達式的值爲true,則語句塊一直執行,直到布爾表達式的值爲false。

while循環

while是最基本的循環,它的結構爲:

while( 布爾表達式 ) {
    //循環內容
}

只要布爾表達式爲true,循環體會一直執行下去。

break關鍵字

break主要用在循環語句或者switch語句中,用來跳出整個語句塊。

break跳出最裏層的循環,並且繼續執行該循環下面的語句。

continue關鍵字

continue適用於任何循環控制結構中。作用是讓程序立刻跳轉到下一次循環的迭代。

在for循環中,continue語句使程序立即跳轉到更新語句。

在while或者do…while循環中,程序立即跳轉到布爾表達式的判斷語句。

產生隨機數

int a = (int)(Math.random())在0-1之間,可能是0但不可能是1。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章