| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 672 人关注过本帖
标题:帮忙看下这段代码怎么回事
只看楼主 加入收藏
笔墨痕干
Rank: 1
等 级:新手上路
威 望:1
帖 子:56
专家分:0
注 册:2014-3-24
结帖率:84.21%
收藏
已结贴  问题点数:20 回复次数:5 
帮忙看下这段代码怎么回事
import java.util.*;
class Student
{
    private String name;
    private String age;
    private String sex;
    private String number;
    Scanner reader=new Scanner(System.in);
    public Student()
    {
        System.out.println("请输入学生的姓名:");
        name=reader.nextLine();
        System.out.println("请输入学生的年龄:");
        age=reader.nextLine();
        System.out.println("请输入学生的性别:");
        sex=reader.nextLine();
        System.out.println("请输入学生的学号:");
        number=reader.nextLine();
        String k="Y";
        while(k.equals("Y")||k.equals("y"))
        {
            MainMenu();
            System.out.println("请输入选项");
            int i=reader.nextInt();
            switch(i)
            {
                case 1:XiuNumber();break;
                case 2:XiuName();break;
                case 3:XiuAge();break;
                case 4:XiuSex();break;
            }
            System.out.println("是否继续操作,Y or N");
            k=reader.nextLine();
        }
        
    }

    public void Print()//显示学生的基本信息
    {
        System.out.println("学生的姓名是:"+name+"该生的性别是:"+sex+"该生的年龄是:"+age+"该生的学号是:"+number);
    }
    public void MainMenu()//选择菜单
    {
        System.out.println("*************************************");
        System.out.println("**         请选择以下功能          **");
        System.out.println("**           1,修改学号            **");
        System.out.println("**           2,修改姓名            **");
        System.out.println("**           3,修改年龄            **");
        System.out.println("**           4,修改性别            **");
        System.out.println("*************************************");

    }
    public void XiuNumber()//修改学生的学号
    {
        Print();
        System.out.println("请输入修改后的学号");
        number=reader.nextLine();
        System.out.println("修改后的学生的信息是:");
        Print();
    }
    public void XiuName()//修改学生的姓名
    {
        Print();
        System.out.println("请输入修改后的学生的姓名:");
        name=reader.nextLine();
        System.out.println("修改后的学生的信息是:");
        Print();
    }
    public void XiuAge()//修改学生年龄。
    {
        Print();
        System.out.println("请输入修改后的年龄");
        age=reader.nextLine();
        System.out.println("修改后的学生的信息是:");
        Print();
    }
    public void XiuSex()//修改学生性别
    {
        Print();
        System.out.println("请输入修改后的性别");
        sex=reader.nextLine();
        System.out.println("修改后的学生的信息是:");
        Print();
    }
}
class  StudentDemo
{
    public static void main(String[] args)
    {
        Student student=new Student();
    }
}
帮忙看下这段代码
 public void XiuAge()//修改学生年龄。
    {
        Print();
        System.out.println("请输入修改后的年龄");
        age=reader.nextLine();
        System.out.println("修改后的学生的信息是:");
        Print();
    }
为什么还没有输入学生的年龄,程序就向下运行了!!!!
搜索更多相关主题的帖子: private public number import 姓名 
2014-08-01 21:59
日知己所无
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:38
帖 子:427
专家分:2071
注 册:2014-3-22
收藏
得分:10 
程序代码:
import java.util.*;

class Student {

    private String name;
    private String age;
    private String sex;
    private String number;
    Scanner reader = new Scanner(System.in);

    public Student() {
        System.out.println("请输入学生的姓名:");
        name = reader.nextLine();
        System.out.println("请输入学生的年龄:");
        age = reader.nextLine();
        System.out.println("请输入学生的性别:");
        sex = reader.nextLine();
        System.out.println("请输入学生的学号:");
        number = reader.nextLine();
        String k = "Y";
        while (k.equals("Y") || k.equals("y")) {
            MainMenu();
            System.out.println("请输入选项");
            int i = Integer.valueOf(reader.nextLine()); // int i = reader.nextInt();
            switch (i) {
                case 1:
                    XiuNumber();
                    break;
                case 2:
                    XiuName();
                    break;
                case 3:
                    XiuAge();
                    break;
                case 4:
                    XiuSex();
                    break;
            }
            System.out.println("是否继续操作,Y or N");
            k = reader.nextLine();
        }

    }

    public void Print()//显示学生的基本信息
    {
        System.out.println("学生的姓名是:" + name + "该生的性别是:" + sex + "该生的年龄是:" + age + "该生的学号是:" + number);
    }

    public void MainMenu()//选择菜单
    {
        System.out.println("*************************************");
        System.out.println("**         请选择以下功能          **");
        System.out.println("**           1,修改学号            **");
        System.out.println("**           2,修改姓名            **");
        System.out.println("**           3,修改年龄            **");
        System.out.println("**           4,修改性别            **");
        System.out.println("*************************************");

    }

    public void XiuNumber()//修改学生的学号
    {
        Print();
        System.out.println("请输入修改后的学号");
        number = reader.nextLine();
        System.out.println("修改后的学生的信息是:");
        Print();
    }

    public void XiuName()//修改学生的姓名
    {
        Print();
        System.out.println("请输入修改后的学生的姓名:");
        name = reader.nextLine();
        System.out.println("修改后的学生的信息是:");
        Print();
    }

    public void XiuAge()//修改学生年龄。
    {
        Print();
        System.out.println("请输入修改后的年龄");
        age = reader.nextLine();
        System.out.println("修改后的学生的信息是:");
        Print();
    }

    public void XiuSex()//修改学生性别
    {
        Print();
        System.out.println("请输入修改后的性别");
        sex = reader.nextLine();
        System.out.println("修改后的学生的信息是:");
        Print();
    }
}

class StudentDemo {

    public static void main(String[] args) {
        Student student = new Student();
    }
}


注释的那行修改一下就好了,为什么会这样以前我发过帖子,一会儿找到后给你个链接
另外,最好加一些异常处理,比如该输入数字时,用户输入了字母,现在的程序应该会崩溃的
2014-08-03 10:11
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:10 
你变量都是String类型的吗

我不是砖家,要努力成为砖家。
2014-08-03 10:15
笔墨痕干
Rank: 1
等 级:新手上路
威 望:1
帖 子:56
专家分:0
注 册:2014-3-24
收藏
得分:0 
回复 2 楼 日知己所无
根据你的纠正改过来就对了,请问能解释下吗??谢谢了
2014-08-09 16:10
笔墨痕干
Rank: 1
等 级:新手上路
威 望:1
帖 子:56
专家分:0
注 册:2014-3-24
收藏
得分:0 
回复 3 楼 砖家的谎言
不都是!!!
2014-08-09 16:11
Frangmuler
Rank: 2
等 级:论坛游民
帖 子:12
专家分:21
注 册:2013-4-5
收藏
得分:0 
输入的数据是字符串类,但你定义的是int类,所以要转换过来,用Integer.valueOf();方法。
2014-08-24 13:39
快速回复:帮忙看下这段代码怎么回事
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017693 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved