|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
编写一个计算平均分的抽象类ComputerAverage,类中有一个录入成绩方法input和一个抽象方法求平均分方法average。定义Gymnastics类和School类继承ComputerAverage类。
Gymnastics类中计算选手的平均成绩的方法是去掉一个最低分,去掉一个最高分,然后求平均分。
School中计算平均分的方法是直接是总分除以总科目。
要求:测试类中要定义两个ComputerAverage对象(分别由Gymnastics类、 School类实例化),分别调用averge方法求得平均分。
我的思路:
由于输入的数字个数不确定,想用hasNextLine()如果输入了字符a结束输入,可是运行的时候老是报错。
“类中有一个录入成绩方法input”这个要求是什么意思?不知道怎么实现。
- import java.util.Scanner;
- public class Demo02 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Scanner sc=new Scanner(System.in);
- String str;
- String []s = null;
- while(sc.hasNextLine()) {
- if(s.equals("a")) break;
- str=sc.nextLine();
- s=str.split(" ");
-
- }
- for(int i=0;i<s.length;i++) {
- System.out.println(s[i]);
- }
-
- }
-
- }
复制代码
就写一个函数
- import java.util.Arrays;
- import java.util.Scanner;
- public class Test2 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String[] s = input();
-
- for(int i = 0; i < s.length; i++)
- {
- System.out.println(s[i]);
- }
- }
- public static String[] input()
- {
- Scanner sc=new Scanner(System.in);
- String str = "";
- String[] str2 = null;
- while(sc.hasNextLine()) {
- str=sc.nextLine();
- str2 = str.split(" ");
- if(str2[str2.length-1].equals("a"))
- {
- break;
- }
- }
- // 去除数组中最后一个元素
- str2 = Arrays.copyOf(str2,str2.length-1);
- return str2;
- }
- }
复制代码
|
|