最快的方法数多的java总结[关闭]

问题描述 投票:-2回答:1
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代码,知道这是它的最快的方法?

java performance sum
1个回答
6
投票

您在这里问错了问题。你看,你的代码的作用:

  • 要求用户把一个值(分别从standard.in阅读)
  • 到那么积累这些值
  • 并打印(多次)

现在:

  • 性能不会在这里所有的物质
  • 如果它会,真正的瓶颈是从standard.in和打印阅读standard.out

总之:你可以不写“这个”代码很大的不同,它已经在意义上的“最佳”:你得到你的输入,你不要浪费时间/记忆“存储”,你只需积累的总和,完成。这一要求被编码的罚款。

你可以保存的唯一的事是你的打印语句,作为一个单一的println可以花费你毫秒,同时加入国际价值在纳秒可能发生。是:打印上千次合计值慢。更糟糕的是:如果有一个人坐在机器前,那么程序坐在那里什么都不做,直到用户键入一个数字,按ENTER键。因此,“如何增加”不影响任何显著的方式你的代码的整体运行。

换句话说:你在哪里担心“业绩”点是没有帮助的。学习如何编写人类可读的代码,学习如何编写简单的代码是优雅的做了你想做的事。

性能是一个奢侈的问题,你在以后的学习曲线的点担心。

© www.soinside.com 2019 - 2024. All rights reserved.