我不确定这在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中可行吗?如果是这样,怎么样?
答案 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编程的课程,你就可以为它提出逻辑,只是寻找约定或正确的语法,那么让我们解释一下上面是如何工作的:
while
循环,如果您希望它执行某些操作,则可以在语句之前使用感叹号并将参数括在括号中如下:while (!(x<=2))
while (boolean) {run this code}
myInput
添加到mySum
:
+=
会将右侧添加到左侧并保存该值do while
循环。其背后的逻辑是:do {this} while (boolean);