我对OOP世界相对较新,出于某种原因,IntelliJ和Eclipse的控制台在控制台中没有为我提供以下程序的输出。我尝试使用扫描仪将12个数字存储到数组中,并找到标准差,平均值,最小数和最大数。谁能发现什么错?
import java.util.Arrays;
import java.util.Scanner;
public class untitled
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int[] grades = new int[12];
int size = grades.length;
for (int i = 0; i < size; i++)
{
grades[i] = in.nextInt();
}
Arrays.sort(grades);
int low = grades[0];
int high = grades[11];
int sum = 0;
for (int i: grades)
{
sum += i;
}
int m = sum / size;
double var = 0;
double variance;
double sd;
for (int i = 0; i < size; i++)
{
var = var + ((grades[i] - m) * (grades[i] - m));
}
variance = (int) var / size;
sd = Math.pow(variance,.5);
String lowest = ("Lowest Grade:" + low);
String highest = ("Highest Grade:" + high);
String average = ("Average Grade:" + m);
String standdev = ("Standard Dev.:" + sd);
System.out.println(lowest);
System.out.println(highest);
System.out.println(average);
System.out.println(standdev);
}
}
感谢。
答案 0 :(得分:0)
你所做的就是接受12个输入..尝试在控制台输入12个输入然后你的输出就会出现..
是的,这似乎没有使用OOP概念。有关OOPS的更多信息,请参阅此链接:
答案 1 :(得分:0)
问题是,在计算和输出可以继续之前,您需要先输入值。
,如果控制台上没有打印文本(例如“输入新号码:”),控制台将保持空白状态。您可以输入12个数字,也可以使用Random
值自动填充列表。在这种情况下,输出将立即在控制台上可见。
...
nt[] grades = new int[12];
int size = grades.length;
Random random = new Random();
for (int i = 0; i < size; i++) {
grades[i] = random.nextInt(15); // value between 0 and 14
}
Arrays.sort(grades);
int low = grades[0];
...