首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

一路要求挺多的JAVA题

2011-12-25 
一道要求挺多的JAVA题importjava.util.ScannerpublicclassTutorialMark{publicstaticvoidmain(String[]ar

一道要求挺多的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一个月,不对的地方,请多指教。

热点排行