import java.util.Scanner;
public class JavaApplication10 {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
while (true) {
int read = Integer.parseInt(reader.nextLine());
if (read == 0) {
break;
}
int sum;
sum = read;
System.out.println("Sum now: " + sum);
while (true) {
int read1 = Integer.parseInt(reader.nextLine());
if (read1 != 0) {
sum += read1;
System.out.println("Sum now: " + sum);
} else if (read1 == 0) {
System.out.println("Sum in the end: " + sum);
break;
}
}
}
}
}
这是我写的一个iwant代码,知道这是它的最快的方法?
您在这里问错了问题。你看,你的代码的作用:
现在:
总之:你可以不写“这个”代码很大的不同,它已经在意义上的“最佳”:你得到你的输入,你不要浪费时间/记忆“存储”,你只需积累的总和,完成。这一要求被编码的罚款。
你可以保存的唯一的事是你的打印语句,作为一个单一的println可以花费你毫秒,同时加入国际价值在纳秒可能发生。是:打印上千次合计值慢。更糟糕的是:如果有一个人坐在机器前,那么程序坐在那里什么都不做,直到用户键入一个数字,按ENTER键。因此,“如何增加”不影响任何显著的方式你的代码的整体运行。
换句话说:你在哪里担心“业绩”点是没有帮助的。学习如何编写人类可读的代码,学习如何编写简单的代码是优雅的做了你想做的事。
性能是一个奢侈的问题,你在以后的学习曲线的点担心。