我是Java的新手,无法想象这个项目。有人可以帮助我吗?
System.out.println (" \nEnter your hybrid activity mark out of 5: ") ;
mark1 = scan.nextInt() ;
System.out.println (" Enter your lab mark out of 10: ") ;
mark2 = scan.nextInt() ;
System.out.println (" Enter your assignment mark out of 100: ") ;
mark3 = scan.nextInt() ;
System.out.println (" Enter your test(s)/quiz mark out of 25: ") ;
mark4 = scan.nextInt();
System.out.println (" Enter your lab test mark out of 5: ") ;
mark5 = scan.nextInt() ;
System.out.println (" Enter your final exam mark out of 30: ") ;
mark6 = scan.nextInt() ;
average = (float) (mark1/5*100 + mark2/10*100 + mark3/100*100 + mark4/25*100 + mark5/5*100 + mark6/30*100)/6;
System.out.println(" Calculated final mark is " + average);
当我输入数据时,每个标记100%,程序给我100%,但当我输入任何不同的东西时,我得到0%我会把这个例子放得更远
输入您的混合活动标记5:
5
Enter your lab mark out of 10:
10
Enter your assignment mark out of 100:
100
Enter your test(s)/quiz mark out of 25:
25
Enter your lab test mark out of 5:
5
Enter your final exam mark out of 30:
30
Calculated final mark is 100.0
示例#2
Enter your hybrid activity mark out of 5:
4
Enter your lab mark out of 10:
8
Enter your assignment mark out of 100:
95
Enter your test(s)/quiz mark out of 25:
23
Enter your lab test mark out of 5:
4
Enter your final exam mark out of 30:
28
Calculated final mark is 0.0
我真的需要帮助我无法弄清楚这是我最后的希望
答案 0 :(得分:0)
试试这个。
float average = (2/5f*100 + 5/10f*100 + 50/100f*100 + 12/25f*100 + 2/5f*100 + 15/30f*100) / 6;
答案 1 :(得分:0)
您正在使用整数数学,使您的标记变量(mark1,mark2等)加倍而不是整数。
答案 2 :(得分:0)
如果使用Java 8尝试流式传输数字并使用IntStream.average()
答案 3 :(得分:0)
带输出的完整解决方案
public static void main(String[] args) {
float mark1, mark2, mark3, mark4, mark5, mark6;
double average;
Scanner scan = new Scanner(System.in);
System.out.println (" \nEnter your hybrid activity mark out of 5: ") ;
mark1 = scan.nextInt();
System.out.println (" Enter your lab mark out of 10: ") ;
mark2 = scan.nextInt() ;
System.out.println (" Enter your assignment mark out of 100: ") ;
mark3 = scan.nextInt() ;
System.out.println (" Enter your test(s)/quiz mark out of 25: ") ;
mark4 = scan.nextInt();
System.out.println (" Enter your lab test mark out of 5: ") ;
mark5 = scan.nextInt() ;
System.out.println (" Enter your final exam mark out of 30: ") ;
mark6 = scan.nextInt() ;
average = (mark1/5*100 + mark2/10*100 + mark3/100*100 + mark4/25*100 + mark5/5*100 + mark6/30*100)/6;
System.out.println(" Calculated final mark is " + average);
}
输出:
Enter your hybrid activity mark out of 5:
5
Enter your lab mark out of 10:
10
Enter your assignment mark out of 100:
100
Enter your test(s)/quiz mark out of 25:
25
Enter your lab test mark out of 5:
5
Enter your final exam mark out of 30:
30
Calculated final mark is 100.0
第二次使用不同的输入,
Enter your hybrid activity mark out of 5:
4
Enter your lab mark out of 10:
8
Enter your assignment mark out of 100:
95
Enter your test(s)/quiz mark out of 25:
23
Enter your lab test mark out of 5:
4
Enter your final exam mark out of 30:
28
Calculated final mark is 86.72222137451172