首页 新闻 会员 周边 捐助

do-while循环使用有一处不知问题出哪了

0
[已解决问题] 解决于 2013-05-16 23:18

import java.util.*;

public class chap {

 public static void main(String[] args) {   

  int count=0; 

System.out.println("欢迎使用学生成绩管理系统");

System.out.println("--------------------------");

do{  Scanner intput=new Scanner(System.in);  

System.out.println("请输入学生的名字(输入quit退出)");

 String name = intput.next();  if(name.equals("quit")){   

System.out.println("学生信息录入完毕");   

System.out.println("退出系统");   

break;  }  

Scanner math =new Scanner(System.in);

 System.out.println("请输入学生成绩(输入quit退出)");    

int score = math.nextInt();

 if(score.equals("quit")){    就是这句话

System.out.println("学生成绩录入完毕");   

System.out.println("退出系统");   

break;   }

count++;  

System.out.println("第"+count+"位学生的成绩是信息如下");  

System.out.println("学生名字"+name+"\t\t学生的成绩"+score);    

}while(true);    

}

}

杰森斯坦森的主页 杰森斯坦森 | 菜鸟二级 | 园豆:202
提问于:2013-04-26 12:19
< >
分享
最佳答案
0
View Code
package Test2;

import java.util.*;

public class chap {

    public static void main(String[] args) {

        int count = 0;

        System.out.println("欢迎使用学生成绩管理系统");

        System.out.println("--------------------------");

        do {
            Scanner intput = new Scanner(System.in);

            System.out.println("请输入学生的名字(输入quit退出)");

            String name = intput.next();
            if (name.equals("quit")) {

                System.out.println("学生信息录入完毕");

                System.out.println("退出系统");

                break;
            }

            Scanner math = new Scanner(System.in);

            System.out.println("请输入学生成绩(输入quit退出)");

            Integer score = math.nextInt(); //这里应该用Integer, Integer是包装类,包装类的用途是用在于各种数据类型的转化。

            if (score.equals("quit")) { // 就是这句话

                System.out.println("学生成绩录入完毕");

                System.out.println("退出系统");

                break;
            }

            count++;

            System.out.println("第" + count + "位学生的成绩是信息如下");

            System.out.println("学生名字" + name + "\t\t学生的成绩" + score);

        } while (true);

    }
}

Integer score = math.nextInt(); // 把int 改成Integer就可以了, Integer是包装类,包装类的用途是用在于各种数据类型的转化。

奖励园豆:5
beyondchina | 小虾三级 |园豆:680 | 2013-05-12 15:09

谢谢哟这个强大

杰森斯坦森 | 园豆:202 (菜鸟二级) | 2013-05-16 23:14
其他回答(5)
0

score不是math.nextint么,

飞来飞去 | 园豆:2057 (老鸟四级) | 2013-04-26 13:13

谢谢哟int 该STRING 就okay

支持(0) 反对(0) 杰森斯坦森 | 园豆:202 (菜鸟二级) | 2013-05-16 23:16
0

import java.util.*;

public class chap {

public static void main(String[] args) {

int count = 0;

System.out.println("欢迎使用学生成绩管理系统");

System.out.println("--------------------------");

do {
Scanner intput = new Scanner(System.in);

System.out.println("请输入学生的名字(输入quit退出)");

String name = intput.next();
if (name.equals("quit")) {

System.out.println("学生信息录入完毕");

System.out.println("退出系统");

break;
}

Scanner math = new Scanner(System.in);

System.out.println("请输入学生成绩(输入quit退出)");

int score = math.nextInt();
String quit = math.next(); // 添加一个字符串类型的变量去接收用户输入 

 if (quit.equals("quit")) { //  if(score.equals("quit")) Int类型与String类型做比较 当然报错! 我也是初学者,瞎指点的,请高人解决更好!

System.out.println("学生成绩录入完毕");

System.out.println("退出系统");

break;
}

count++;

System.out.println("第" + count + "位学生的成绩是信息如下");

System.out.println("学生名字" + name + "\t\t学生的成绩" + score);

} while (true);

}

}

I'mITman | 园豆:6 (初学一级) | 2013-04-26 13:17
0

int score = math.nextInt();

score不是对象,无法使用方法哦

易之名 | 园豆:103 (初学一级) | 2013-05-01 00:35
0

明显的类型不匹配嘛,同意 I'mITman 的

明明小k | 园豆:246 (菜鸟二级) | 2013-05-09 07:12
1

将int score = math.nextInt();改为String score = math.next();在判断条件中,只有String类型才有equals()方法,如果是int类型应该用的是==

cel | 园豆:380 (菜鸟二级) | 2013-05-09 22:23

谢谢哟

支持(0) 反对(0) 杰森斯坦森 | 园豆:202 (菜鸟二级) | 2013-05-16 23:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册