import java.util.Scanner;
public class Unit2Err2{
public static void main( String[] args ){
Scanner scan = new Scanner(System.in);
double sum = 0;
double count = 0;
double in = scan.nextDouble();
while (scan.nextDouble()!= 0){
sum = sum + in;
count++;
}
double avg= sum/count;
System.out.println("The average is " +avg);
}
}
输入:5 4 3 0 6 4 3
特别是我没有任何错误,我确实有错误说: 无与伦比的类型:boolean和int。 但是我修复了它,我现在的问题是平均值应该是4而不是5.我想知道错误在哪里,我已经尝试重新安排它,所以我的平均值达到4,但后来我经常最终与上面相同的错误。
答案 0 :(得分:1)
# \\W+ to look for non-word characters (i.e. [^[:alnum:]_])
# between the ">" and "<" that enclose the text
choice <- which(grepl(">\\W+john\\W+<", choices, perl = TRUE))
result[[choice]]$getElementAttribute("outerHTML")[[1]]
#[1] "<div class=\"lvl3\" id=\"n471\">\n john\n </div>"
当您第一次使用import java.util.Scanner;
public class Unit2Err2{
public static void main( String[] args ){
Scanner scan = new Scanner(System.in);
double sum = 0;
double count = 0;
double in ;
while ( (in = scan.nextDouble())!= 0){
sum = sum + in;
count++;
}
double avg= sum/count;
System.out.println("The average is " +avg);
}
}
nextDouble
时,它已从终端读取值。
答案 1 :(得分:0)
您需要在每次迭代时重新分配in
:
while ((in = scan.nextDouble()) != 0){
sum += in;
count++;
}
答案 2 :(得分:0)
程序在看到“scan.nextDouble()”语句时停止并等待输入。连续两个将读取5和4,而不对值进行任何操作。
当前代码将第一个输入5分配给变量in。之后,in中永远不会赋值。因此每次循环迭代都会添加5。