A bag of Java tool

相比較其他語言,Java不只嚴格,連print都比別人費工,這章節存放一些枝微末節的新手技巧

董宸賓
2023-10-15

111{.aa}

想到這個就覺得有點煩

但其實他們的功能滿鮮明的

下圖說明

print

最基礎的print,特性如下:

prinln

特別好的換行方法,特性如下:

printf

當你需要print複雜一點點的東西時,請呼叫它

範例

public static void printf() {
        Scanner sc = new Scanner(System.in);
        int inum = 1113;
        String s = "我是字串";
        double dnum = 1113.1028d;
        System.out.printf("printf加\\n才會自動換行\n");
        System.out.printf("%d%s%f\n",inum,s,dnum);
        System.out.printf("%.2f\n",dnum);//控制小數點位數
        System.out.printf("%+f\n",dnum);//顯示+號
        System.out.printf("%,f\n",dnum);//三個數字一個逗點
        System.out.printf("%07d\n",inum);往前占7格,並補上0
        System.out.printf("%-5d%s\n",inum,s);往後占5
    }

結果

printf加\n才會自動換行

1113我是字串1113.102800

1113.10

+1113.102800

1,113.102800

0001113

1113 我是字串

Scanner

交作業,檢查程式碼等等都會用到的東西

也算挺方便的東西,不過有些眉角要注意

前置作業

匯入API: import java.util.Scanner;

宣告:Scanner sc = new Scanner(System.in);

關閉:sc.close();

輸入的型別

檢查輸入的型別

檢查:sc.hasNextInt();

丟棄輸入:sc.next();

示範

範例

import java.util.Scanner;

public class sc {

        Scanner sc = new Scanner(System.in);
        System.out.printf("Please enter grades:");
        while (!sc.hasNextInt()) { //檢查是否為整數
            sc.next();//丟棄不對的
            System.out.println("拜託告訴我");
        }
        int grade = sc.nextInt();
        System.out.println("your grade is " + grade);
        
    }
  }

結果

Please enter grades:不告訴你

拜託告訴我

No

拜託告訴我

100

your grade is 100