一道要求挺多的JAVA题
import java.util.Scanner;
public class TutorialMark
{
public static void main (String[] args)
{
final double IN_TUTE_PERCENT = 0.7;
final double OUT_TUTE_PERCENT = 0.3;
final int ONE_HUNDRED = 100;
int beforeTuteMark;
int beforeTuteMax;
int tuteMarks;
int tuteMax;
int afterTuteMarks;
int afterTuteMax;
int outTuteAvg;
int inTutePercent;
double tuteMark;
Scanner scan = new Scanner(System.in);
System.out.println( "\nThis is your Tutorial Mark Calculator - Welcome\n ");
System.out.print( "Please enter the mark you gained for the before-Tutorial test: ");
beforeTuteMark = scan.nextInt();
System.out.print( "Please enter the maximum available marks for the before-Tutorial test: ");
beforeTuteMax = scan.nextInt();
System.out.print( "Please enter the number of marks you gained for the in-Tutorial test: ");
tuteMarks = scan.nextInt();
System.out.print( "Please enter the maximum available marks for the in-Tutorial test: ");
tuteMax = scan.nextInt();
System.out.print( "Please enter the number of marks you gained for the after-Tutorial test: ");
afterTuteMarks = scan.nextInt();
System.out.print( "Please enter the maximum available marks for the after-Tutorial test: ");
afterTuteMax = scan.nextInt();
System.out.println();
outTuteAvg = beforeTuteMark + afterTuteMarks / beforeTuteMax + afterTuteMax * ONE_HUNDRED;
inTutePercent = tuteMarks / tuteMax * ONE_HUNDRED;
tuteMark = OUT_TUTE_PERCENT * outTuteAvg + IN_TUTE_PERCENT * inTutePercent;
System.out.println( "You achieved an average mark for your out-of-Tutorial test of " + outTuteAvg + "% ");
System.out.println( "You achieved a mark for your in-Tutorial test of " + inTutePercent + "% ");
System.out.println( "Your final Tutorial mark is " + tuteMark + "% ");
System.out.println();
}
}
这么一个类...
要求:
修改TutorialMark的类
1把TutorialMark的类修改到正确的数学表达式,使这个程序能正确计算出结果。*参照上述例子的计算方法。
2修改TutorialMark的类使两部分占最终评估的比重有效(那两个百分数,例子里的70%跟30%),且可以被使用者输入:
•提示使用者这两个比重
•当结果被输出在显示器上时显示这两个比重
3为学生的名字(拼音)预作安排
•提示使用者他们的名字
•当结果被输出在显示器上时显示他们的名字在最上面一行
4为学生的科目预作安排
•提示使用者他们的科目
•当结果被输出在显示器上时在他们名字的下一行显示他们的科目
5引入随机类以便一个随机数字可以产生作为在小课上的测试分数。
注意:这个随机数字必须在限定范围内产生才能有效,范围参照小课测试分数,在个人数据部分(就是另一分有我学号075720的文件)。
7安排输出程序以便百分数以小数点后一位的形式保留并显示出来,
•例子:82。827142%显示在显示器上为82。8%
8个人数据使用及要求
•运行你的程序并使用提供的数据,随机加上数字作为在小课上的测试分数进行计算
•保存方法(这个我自己做)
例子:假设在小课上的测试分数占最后评估的70%不在小课上的测试分数占最后评估的30%,某个学生获得如下分数:
•在小课之前的测试:21/35
•在小课上的测试:45/60
•在小课之后的测试:18/25
在小课上的测试部分将是:45/60或者75%
不在小课上的测试部分:将在小课之前的测试分数加上在小课之后的测试分数:
21/35+18/25=39/60或者65% 注意这里,计算方法是将分母相加做最后的分母,分子相加做最后的分子,没有通分等过程
每个被评估的部分都是通过乘上相对部分所占的百分数来计算的,比如:
•在小课上的测试评估=75%*70%=52。5%
•不在小课上的测试评估=65%*30%=19。5%
最后评估分数是将这两个部分相加:52。5%+19。5%=72%
注意:已给的程序不能正确计算出最终评估结果,需要进行修改
谢谢了...
[解决办法]
1. double outTuteAvg;
double inTutePercent;
2. outTuteAvg = ((double)(beforeTuteMark + afterTuteMarks)) / ((double)(beforeTuteMax + afterTuteMax)) * ONE_HUNDRED;
3. inTutePercent = ((double)tuteMarks) / ((double)tuteMax) * ONE_HUNDRED;
[解决办法]
随机类random,要先new个对象,再调用的吧。我刚学java一个月,不对的地方,请多指教。