Java - 如何建立连续计数器(1 + 2 = 3; + 3 = 6)等

时间:2015-03-30 18:37:57

标签: java counter

我不确定这在Java中是否可行。我刚刚完成了Python,我参加了一个网页设计课程,所以我的大脑还没有与Java同步。 我希望它是这样的

double yourInput = input.nextDouble();

double numCount = (numCount + yourInput); 

例如,如果我输入了2,7和9(它会循环),我希望它能做到这样的事情:numCount = 0;然后numCount = 0 + 2;然后numCount = 2 + 7;然后numCount = 9 + 9.

这在Java中可行吗?如果是这样,怎么样?

5 个答案:

答案 0 :(得分:1)

使用input.hasNextDouble()

循环
//give default value
double numCount = 0;

//while user is still giving input
while(input.hasNextDouble()) {
    //get input
    double yourInput = input.nextDouble();
    //add input
    numCount += yourInput; 
}

//output
System.out.println("total = " + numCount);

答案 1 :(得分:0)

Algorithm CONTINOUS_COUNTER()
BEGIN
    DECLARE inputReader : java.util.Scanner(System.in);
    DECLARE numCount    : Double;

    SET numCount := 0.0; //Setting the default value to the counter;

    LOOP until inputReader.hasNextDouble() returns TRUE

        numCount := numCount + inputReader.nextDouble();

    END LOOP;

    print "Num count = " + numCount;

END;

亲爱的凯蒂,这是你应该用来开发这个程序的逻辑。这只是一种算法。因为你正在学习Java,所以我认为在这里发布真实的程序并不好。尝试将此算法转换为Java代码。学习它。 :)

答案 2 :(得分:0)

这是一个工作示例:

import javax.swing.JOptionPane;


public class DoubleCounter {

private static double total = 0.0;



public static void run(){
    while(true){
        String input = JOptionPane.showInputDialog("Total Count: "+ total+" add next double: ");
        try{
            double next = Double.parseDouble(input);
            total+=next;
        }catch(NumberFormatException nfe){
            JOptionPane.showMessageDialog(null, "Wrong input! You must get a valid number!");
            continue;
        }


        }
    }

public static void main(String[] args) {
    DoubleCounter.run();

}

}

使用静态成员总计数定义类DoubleCounter。 这个类有一个run()方法,它无限循环并显示广告InputDialog。 输入对话框总是返回一个我们'尝试'在double中解析的字符串。 如果解析没有问题,我们将结果添加到总计数。

该类有一个main方法,它是“静态”调用DoubleCounter的run()方法的应用程序入口点。

我建议你看看'static'修饰符如何在类成员(总计)和方法(run())上工作。

希望帮助你!

答案 3 :(得分:0)

凯蒂,这是真正的节目。

import java.util.Scanner;

public class ContinousCounter{
    public static void main(final String [] args){
        double  numCount        =  0.0;
        Scanner inputReader     =  new Scanner(System.in);
        System.out.println("Enter the values : ");
        while(inputReader.hasNextDouble()){ numCount += inputReader.nextDouble();}

        System.out.printf("The value for numCount = %f",numCount);
    }
}

答案 4 :(得分:0)

为了做我认为你在这里说的话,你应该使用while循环。这很简单,只要想想你希望它如何工作。它将循环一段代码,将扫描仪的下一行添加到总和

double mySum = 0;

while(input.nextDouble() != 0){
    double myInput = input.nextDouble();
    mySum += myInput;
}

在上面的循环中,我们假设当扫描仪的下一行为0时,没有更多的数字要添加,但可以调整以便在其他时间停止。

我可以看到,既然你已经完成了Python编程的课程,你就可以为它提出逻辑,只是寻找约定或正确的语法,那么让我们解释一下上面是如何工作的:

  1. 只要您允许它处理的语句的计算结果为true,就会运行while循环,如果您希望它执行某些操作,则可以在语句之前使用感叹号并将参数括在括号中如下:
    while (!(x<=2))
    while循环具有以下语法(逻辑形式):
    while (boolean) {run this code}
  2. 您可以使用简写将myInput添加到mySum+=会将右侧添加到左侧并保存该值
  3. 如果您想在代码值至少运行一次代码,则可以使用do while循环。其背后的逻辑是:do {this} while (boolean);