5 7 2 8 9 10 12 98 7 14 20 22(带白色空间)
我的代码是:
import java.io.*;
import java.util.*;
public class number2 {
public static void main (String[] args) throws FileNotFoundException{
Scanner input = new Scanner(new File("number.txt"));
int sum = 0;
int count = 0;
int evenCount = 0;
float percent = 0;
while(input.hasNextInt()) {
int num = input.nextInt();
sum+=num;
count++;
evenCount = evenNumber(num, count);
}
percent = (evenCount*100)/count;
System.out.println("\n" +count + " Numbers, " + "Sum = " +sum);
System.out.println( evenCount + " evens " +"(" + percent +"%)");
}
public static int evenNumber(int counter, int number){
if(number%2==0)
counter++;
return counter;
}
}
答案 0 :(得分:0)
我认为您使用切换参数调用evenNumber
方法...
while(input.hasNextInt()){
int num = input.nextInt();
sum+=num;
count++;
//first parameter is number read from file, second parameter is the current count
evenCount = evenNumber(num, count);}
//...
在方法签名evenNumber
上
//first parameter is the counter, second parameter is the read number
public static int evenNumber(int counter, int number)
您应该在while块中的evenNumber
方法内切换要调用的参数:
evenCount = evenNumber(evenCount, num)
此外,您应该将evenCount
传递给evenNumber
方法而不是计数,否则您将增加所有数字的数量,而不是只计算偶数的数量。