# 題目 ## a001 ``` import java.util.Scanner; public class a001 { public static void main(String []args){ Scanner scanner = new Scanner(System.in); String tmp = scanner.nextLine(); System.out.println("hello, " + tmp); } } ``` ### 筆記 1. `nextLine`下一航輸入的資料。 ## a002 ``` import java.util.Scanner; public class a002{ public static void main(String []args){ Scanner scanner = new Scanner(System.in); String inputNum = scanner.nextLine(); String stringArry[] = inputNum.split(" "); int totle = 0; int numArry[]; numArry = new int [stringArry.length]; for (int i = 0; i < stringArry.length; i++) { numArry[i] = Integer.parseInt(stringArry[i]); } for (int i = 0; i < numArry.length; i++){ totle += numArry[i]; } System.out.println(totle); } } ``` ### 筆記 1. `split(" ")`分割字串。 2. `nextInt`也可以使用 ## a003 ``` import java.util.Scanner; public class a003{ public static void main(String []args){ Scanner scanner = new Scanner(System.in); int M = scanner.nextInt(); int D = scanner.nextInt(); int S = (M*2+D)%3; switch (S){ case 0: System.out.println("普通"); break; case 1: System.out.println("吉"); break; case 2: System.out.println("大吉"); break; } } } ``` ### 筆記 1. 結構 ``` switch (要判斷的變數){ case 0: break; case 1: break; case 2: break; } ``` ## a004 ``` import java.util.Scanner; public class a004{ public static void main(String []args){ Scanner scanner = new Scanner(System.in); int inputYear; //多數人卡在這步驟hasNextInt(),被出現的"你執行了X行",或者使用true發生錯誤,我就卡在這XD。 while (scanner.hasNextInt()) { inputYear = scanner.nextInt(); if((inputYear % 4 == 0 && inputYear % 100 != 0)||inputYear % 400 == 0){ System.out.println("閏年"); }else{ System.out.println("平年"); } } } } ``` ### 觀念 1. 題目條件直到 EOF 結束,為什麼一定要用`hasNextInt()`不能用`true`,因為題目提出關閉輸入時while會在重複一次,這樣審核系統會報錯,而`hasNextInt()`偵測到關閉就直接跳出迴圈。 ``` 您的程式被監控系統中斷,可能是程式無法正常結束所導致。 Exception in thread "main" java.util.NoSuchElementException at java.base/java.util.Scanner.throwFor(Scanner.java:937) at java.base/java.util.Scanner.next(Scanner.java:1594) at java.base/java.util.Scanner.nextInt(Scanner.java:2258) at java.base/java.util.Scanner.nextInt(Scanner.java:2212) at a004.main(a004.java:8) Exception in thread "main" java.util.NoSuchElementException at java.base/java.util.Scanner.throwFor(Scanner.java:937) at java.base/java.util.Scanner.next(Scanner.java:1594) at java.base/java.util.Scanner.nextInt(Scanner.java:2258) at java.base/java.util.Scanner.nextInt(Scanner.java:2212) at a004.main(a004.java:8) ``` ### 筆記 1. `scanner.hasNextInt()`判斷下一行是否為數字。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up