java的一道题目 帮我看看为什么程序总是崩溃

这是题目使用Scanner类实现从键盘输入多位同学的数学、物理、英语三门课的成绩,要求计算并输出每位同学的总分,各门课的平均成绩及平均总分。(参看例子14)要求如下:1)... 这是题目
使用Scanner类实现从键盘输入多位同学的数学、物理、英语三门
课的成绩,要求计算并输出每位同学的总分,各门课的平均成绩及平
均总分。(参看例子14)
要求如下:
1)一次输入一行(格式为姓名 数学成绩 物理成绩 英语成绩)
2)分数之间用空格或逗号隔开
3)用end结束结束输入
4)用nextLine()一次读入一行,用trim()去掉行首和行尾的空行,
然后用split()方法分解字符串,用Double.parseDouble()解析获得
成绩值)
这是我写出来的程序:
package sy_9;

import java.util.Scanner;

public class Average {

public static void main(String[] args) {
// TODO Auto-generated method stub
int i=0;
String linText;
double mathSum=0,physicsSum=0,englishSum=0;
System.out.println("格式为姓名 数学成绩 物理成绩 英语成绩,以end结束");
Scanner sc=new Scanner(System.in);
linText=String.valueOf(sc.nextLine());

while(linText!="end"){ //我试了一下输入end停不了啊,为什么?
i=i+1;
String reg="^[1234567890.]+";
linText=linText.trim();
System.out.println(linText);
String temp[]=linText.split(reg);

mathSum +=Double.parseDouble(temp[1]); //一到这里就运行不下去了,,为什么,语法也没有错误啊
physicsSum +=Double.parseDouble(temp[2]);
englishSum +=Double.parseDouble(temp[3]);
linText=sc.nextLine();
}
System.out.println("数学的平均成绩为:"+mathSum/i+
",物理的平均成绩为:"+physicsSum/i+",英语的平均成绩为"+englishSum/i);
}
}
展开
 我来答
旗逸雅r7
推荐于2016-07-17 · TA获得超过195个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:108万
展开全部
public class Average {
    public static void main(String[] args) {
        int i=0;
        String linText;
        double mathSum=0,physicsSum=0,englishSum=0;
        System.out.println("格式为姓名 数学成绩 物理成绩 英语成绩,以end结束");
        Scanner sc=new Scanner(System.in);
        linText=String.valueOf(sc.nextLine());
        
        while (!linText.endsWith("end")) {
            //我试了一下输入end停不了啊,为什么?
            i=i+1;
            linText=linText.trim();
            String temp[]=linText.split("\\s{1,}");
            mathSum +=Double.parseDouble(temp[1]);      //一到这里就运行不下去了,,为什么,语法也没有错误啊
            physicsSum +=Double.parseDouble(temp[2]);
            englishSum +=Double.parseDouble(temp[3]);
            linText=sc.nextLine();            
        }
        System.out.println("数学的平均成绩为:"+mathSum/i+
                ",物理的平均成绩为:"+physicsSum/i+",英语的平均成绩为"+englishSum/i);
    }
}
更多追问追答
追问
为什么用我定义的那个正则表达式,就分割不出来我想要的结果呢
追答
我还想问你为什么你认为那个正则能分解出你要的结果?要返回匹配结果只能用group了
百度网友8d9f3b42c
2014-11-22 · TA获得超过136个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:84.2万
展开全部
字符串比较用equals方法,至于运行不下去,我的看看是什么错误啊,要不然就是你的split解析有问题,解析出来的不是数字
更多追问追答
追问
解析出来的怎么就不是数字了
追答
你打印出来看看啊,不然怎么知道啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1e1bf62
2014-11-22
知道答主
回答量:50
采纳率:0%
帮助的人:22.9万
展开全部
首先end你没有定义,所以不可以停止,死循环。
追问
End定义怎么定义呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式