Java 循环程序
我正在为我的java入门课程编写这个程序。我一直有很多问题。我正在使用eclipse。程序应该找到平均数、范围数、最小数和最大数。我拥有一切(至少我是按照她的笔记做的,这让我很困惑……),并且把一切都放进了eclipse中。它总是告诉我一个错误,我需要一段时间();结束循环。我已经这么做了…我放错地方了吗?我做错了什么Java 循环程序,java,loops,while-loop,do-while,Java,Loops,While Loop,Do While,我正在为我的java入门课程编写这个程序。我一直有很多问题。我正在使用eclipse。程序应该找到平均数、范围数、最小数和最大数。我拥有一切(至少我是按照她的笔记做的,这让我很困惑……),并且把一切都放进了eclipse中。它总是告诉我一个错误,我需要一段时间();结束循环。我已经这么做了…我放错地方了吗?我做错了什么 import java.util.Scanner; public class A_Alnor_SquenceOfNumbers { public static void
import java.util.Scanner;
public class A_Alnor_SquenceOfNumbers {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int count = 0;
double sum = 0;
double input = 0;
double average;
double min = in.nextDouble();
double max = in.nextDouble();
do {
System.out.println("Enter a value, type -1 to finish: ");
boolean done = false;
while (!done) {
input = in.nextDouble();
if (input == -1) {
done = true;
} else
while (in.hasNextDouble()) {
input = in.nextDouble();
sum = sum + input;
count++;
}
if (count > 0) {
average = sum / count;
}
while (in.hasNextDouble()) {
input = in.nextDouble();
if (input > max) {
max = input;
}
while (in.hasNextDouble())
if (input < min) {
min = input;
}
}
}
while (done) ;
{
System.out.println("The average is " + average + ".");
System.out.println("The smallest number is " + min + ".");
System.out.println("The largest number is " + max + ".");
System.out.println("the range is " + min + " to " + max + ".");
System.out.println(count);
}
}
}
}
import java.util.Scanner;
公共A级不包含数字{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
整数计数=0;
双和=0;
双输入=0;
双倍平均;
double min=in.nextDouble();
最大加倍=英寸下一次加倍();
做{
System.out.println(“输入一个值,键入-1以完成:”);
布尔完成=假;
而(!完成){
input=in.nextDouble();
如果(输入==-1){
完成=正确;
}否则
while(在.hasNextDouble()中){
input=in.nextDouble();
总和=总和+输入;
计数++;
}
如果(计数>0){
平均数=总和/计数;
}
while(在.hasNextDouble()中){
input=in.nextDouble();
如果(输入>最大值){
最大值=输入;
}
while(在.hasNextDouble()中)
如果(输入<分钟){
最小值=输入;
}
}
}
当(完成)时;
{
System.out.println(“平均值为“+平均值+”);
System.out.println(“最小的数字是“+min+”);
System.out.println(“最大数字为“+max+”);
System.out.println(“范围为“+min+”到“+max+”);
系统输出打印项次(计数);
}
}
}
}
您使用的是do..while构造,而do语句的结尾没有任何匹配的while子句,可能是因为括号放错了位置。您使用的是do..while构造,而do语句的结尾没有任何匹配的while子句,可能是因为放错了括号。Java中有几种循环。您似乎使用了两种:
while
循环:
while (condition) {
loop-body
}
do {
loop-body
} while (condition);
do
循环:
while (condition) {
loop-body
}
do {
loop-body
} while (condition);
您的外循环是一个
do
循环,但缺少终止while(条件)
部分。外部do
循环的循环体
部分本身包含而循环的内部循环。仔细检查你的代码结构,你应该能够计算出来。Java中有几种循环。您似乎使用了两种:
while
循环:
while (condition) {
loop-body
}
do {
loop-body
} while (condition);
do
循环:
while (condition) {
loop-body
}
do {
loop-body
} while (condition);
您的外循环是一个do
循环,但缺少终止while(条件)
部分。外部do
循环的循环体
部分本身包含而循环的内部循环。仔细检查你的代码结构,你应该能够算出它。你确实在使用没有正确语法的do-while循环。删除最外层的do语句
此外:您需要修改大量代码,因为这不会终止。它会检查一次输入是否为-1(注意这是一个INT而不是DOUBLE!!!),如果不是这种情况,您会一直向用户询问DOUBLE(在很多while语句中)。首先创建伪代码并确保其正确,因为这样做行不通
祝你好运 您确实在使用do while循环,但没有正确的语法。删除最外层的do语句
此外:您需要修改大量代码,因为这不会终止。它会检查一次输入是否为-1(注意这是一个INT而不是DOUBLE!!!),如果不是这种情况,您会一直向用户询问DOUBLE(在很多while语句中)。首先创建伪代码并确保其正确,因为这样做行不通
祝你好运 检查添加的“while”的位置。您的do语句也应该有一个。检查。+1对于我在SOYes上看到的一个更好的家庭作业问题,你把它放错地方了:-)。您应该将while(done)行移出一个街区。并且不需要将输出行(System.out…)放在块中。但是正如Héctor提到的,do while循环将重新启动整个过程,让您永远重复任务。您的do语句也应该有一个。检查。+1对于我在SOYes上看到的一个更好的家庭作业问题,你把它放错地方了:-)。您应该将while(done)行移出一个街区。并且不需要将输出行(System.out…)放在块中。但是正如Héctor所提到的,DoWhile循环将重新启动整个过程,并让您永远重复任务。