Java 计算嵌套循环中的平均数
有人知道如何计算循环中的平均值吗。每次我计算平均值时,我得到0或1。我知道我需要使用平均数=(总和)/(年薪);但我不能让它工作。提前谢谢Java 计算嵌套循环中的平均数,java,Java,有人知道如何计算循环中的平均值吗。每次我计算平均值时,我得到0或1。我知道我需要使用平均数=(总和)/(年薪);但我不能让它工作。提前谢谢 import java.util.Scanner; public class midterm { public static void main(String args[]) { Scanner kb = new Scanner(System.in); int max = Integer.MIN_VALUE; int min
import java.util.Scanner;
public class midterm
{
public static void main(String args[])
{
Scanner kb = new Scanner(System.in);
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
int sum = 0;
int average=0;
int count = 0;
int salary_annually = 0;
for(int employee =1; employee <= 2; employee++)
{
System.out.println("Employee: " + employee);
for(int year=1; year <= 2; year++)
{
System.out.println("Please Enter the Salary for Year: " + year);
salary_annually = kb.nextInt();
sum += salary_annually ;
if (min >= salary_annually)
{
min = salary_annually;
}
if (max <=salary_annually)
{
max = salary_annually;
}
average = (sum) / (salary_annually);
}
System.out.println("The average is " + average);
System.out.println("The higher number " + max);
System.out.println("The the lowest number " + min);
}
}
}
import java.util.Scanner;
公共课期中考试
{
公共静态void main(字符串参数[])
{
扫描仪kb=新扫描仪(System.in);
int max=整数的最小值;
int min=整数最大值;
整数和=0;
整数平均=0;
整数计数=0;
年薪=0;
对于(int employee=1;employeeChange
average = (sum) / (salary_annually);
到
改变
average = (sum) / (salary_annually);
到
我猜这里的问题是你用的是整数除法。因为总和和薪水都是整数,除法的工作原理略有不同。没有余数,因为两个整数相除会得到一个整数
例如,1/2不是您预期的.5,而是0。在进行整数运算时,任何小数都会被删除。另一个示例9/5不是1.8,而是1
如果你想要平均值,那么你可以将总和或薪水每年声明为双倍,并将平均值也声明为双倍。我猜这里的问题是你使用的是整数除法。由于总和和薪水每年都是整数,除法的效果略有不同。除法没有余数,因为除法是两个整数s给出一个int
例如,1/2不是您预期的.5,而是0。在进行整数运算时,任何小数都会被删除。另一个示例9/5不是1.8,而是1
如果你想要平均值,那么你可以将每年的金额或薪水宣布为双倍,并将平均值宣布为双倍
平均值的计算方法为:average=sum/count;
您需要将计数
变量递增,否则您将始终获得和算术异常/减零
平均值的计算方法为:average=sum/count;
您需要将计数
变量递增,否则您将始终获得和算术异常/减零
通过Average=sum/count
计算平均值,其中平均值应为double类型
您确实声明了变量count,但没有使用它
import java.util.Scanner;
public class Calulate {
/**
* @param args
*/
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
int sum = 0;
double average = 0;
int count = 2;
int salary_annually = 0;
for (int employee = 1; employee <= 2; employee++) {
System.out.println("Employee: " + employee);
for (int year = 1; year <= count; year++) {
System.out.println("Please Enter the Salary for Year: " + year);
salary_annually = kb.nextInt();
sum += salary_annually;
if (min >= salary_annually) {
min = salary_annually;
}
if (max <= salary_annually) {
max = salary_annually;
}
}
average = sum / count;
System.out.println("The average is " + average);
System.out.println("The higher number " + max);
System.out.println("The the lowest number " + min);
}
}
import java.util.Scanner;
公共类计算{
/**
*@param args
*/
公共静态void main(字符串[]args){
扫描仪kb=新扫描仪(System.in);
int max=整数的最小值;
int min=整数最大值;
整数和=0;
双平均=0;
整数计数=2;
年薪=0;
对于(int employee=1;employee平均值通过Average=sum/count
计算,其中平均值应为double类型
您确实声明了变量count,但没有使用它
import java.util.Scanner;
public class Calulate {
/**
* @param args
*/
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
int sum = 0;
double average = 0;
int count = 2;
int salary_annually = 0;
for (int employee = 1; employee <= 2; employee++) {
System.out.println("Employee: " + employee);
for (int year = 1; year <= count; year++) {
System.out.println("Please Enter the Salary for Year: " + year);
salary_annually = kb.nextInt();
sum += salary_annually;
if (min >= salary_annually) {
min = salary_annually;
}
if (max <= salary_annually) {
max = salary_annually;
}
}
average = sum / count;
System.out.println("The average is " + average);
System.out.println("The higher number " + max);
System.out.println("The the lowest number " + min);
}
}
import java.util.Scanner;
公共类计算{
/**
*@param args
*/
公共静态void main(字符串[]args){
扫描仪kb=新扫描仪(System.in);
int max=整数的最小值;
int min=整数最大值;
整数和=0;
双平均=0;
整数计数=2;
年薪=0;
对于(int employee=1;employee AFAIK平均值通过总和/计数计算。int
值在计算前应为double
(或提升为double
)。平均值应在内部for循环的外部计算-平均值=(总和)/2;
谢谢你的帮助。我让它工作起来了。我需要计算5年。所以我把它改为平均值=(总和)/5;您好,我刚刚发现,当我计算第二个用户的平均值时,我得到了一个不同的结果。例如,如果我为第一个用户添加这个数字10,10,10,20,20。我得到了14.0,这是正确的。但是当我为第二个用户输入相同的数字时,我得到了28.0?有什么想法吗?平均值是通过总和/计数计算的。int
值在计算之前,s应该是double
(或升级为double
)。平均值应该在内部for循环的外部计算-average=(sum)/2;
谢谢您的帮助。我已经让它工作了。我需要计算5年。所以我刚刚将它改为average=(sum)/5;您好,我刚刚发现,当我计算第二个用户的平均值时,我得到了一个不同的结果。例如,如果我为第一个用户添加这个数字10,10,10,20,20。我得到了14.0,这是正确的。但当我为第二个用户输入相同的数字时,我得到了28.0?有什么想法吗?