import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
long n, i, sum = 0;
while (cin.hasNextLong()) {
n = cin.nextLong();
sum = 0;
for (i = 1; i <= n; i++) {
sum = sum + i;
}
System.out.println(sum);
System.out.print("\n\n");
}
}
}
所以对应的换行符是\r\n
但是OJ在对比输出的时候,\r和\n并不加以区分
所以\n\n也是等同于\r\n
所以楼主的输出才能通过
换成
System.out.println();
也能通过。
估计是Unix 下和Windows下的换行表示方法不同导致的。
调用的是print()方法,自然输出2个空行了,有什么问题?追问
因为题目要求是
1
//空行
5050
而用上面程序的输出结果是
1
//空行
//空行
5050
也就是说这个程序比题目要求的多输出了一个空行,却能通过,为什么呢
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
long n, i, sum = 0;
Scanner cin = new Scanner(System.in);
while (cin.hasNextLong()) {
n = cin.nextLong();
sum = 0;
for (i = 1; i <= n; i++) {
sum = sum + i;
}
System.out.print("\n");
System.out.println(sum);
}
}
}
你这样写无法通过呢
追答JDK 1.5一点问题都没有的,
追问是啊,我知道没问题,可就是通不过啊,要不你去杭电看看吧第1001题
System.out.println("");
System.out.print(sum);
这样呢?
这样子是不会通过的,要不你去做做杭电的题就知道我的意思了