1
我想提交第二個代碼在spoj上,但它給出了錯誤的答案,但第一個被接受,但我認爲這兩個代碼的邏輯是相同的。兩個代碼有什麼區別
public class Main {
public static void main(String[] args) throws java.lang.Exception {
java.io.BufferedReader r = new java.io.BufferedReader(
new java.io.InputStreamReader(System.in));
String s;
while (!(s = r.readLine()).startsWith("42"))
System.out.println(s);
}
}
和
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
if (n != 42) {
System.out.println(n);
}
}
}
http://ideone.com/Qr1q3N
可以,例如,通過以下方式引入循環嘗試使用'42xyz'作爲輸入字符串執行這兩個片段 –
2代碼之間的區別是第二個代碼試圖將字符串轉換爲數字,如果該字符串不是數字 – user3260861