A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天刚学了switch语句,老师用了scanner,然后自己做了一下,发现输入整数没问题,小数就会报错,求解决。代码如下
//在控制台上输入1-7,显示对应的星期。
import java.util.Scanner;
class Kongzhitai
{
        public static void main(String[] args)
        {        while (true)
                {
                        Scanner x = new Scanner(System.in);
                        System.out.println();
                        System.out.print("请输入整数:");
                                int week = x.nextInt();
                        switch (week)
                                {
                                case "1":
                                        System.out.println("今天是周一");
                                        break;
                                case "2":
                                System.out.println("今天是周二");
                                        break;
                                case "3":
                                System.out.println("今天是周三");
                                        break;
                                case "4":
                                System.out.println("今天是周四");
                                        break;
                                case "5":
                                System.out.println("今天是周五");
                                        break;
                                case "6":
                                System.out.println("今天周六,好好休息");
                                        break;
                                case "7":
                                System.out.println("明天要上班了");
                                        break;
                                default:
                                System.out.println("搞么子");
                                }
                }
        }
}

31 个回复

倒序浏览
int week = x.nextInt();   你把它改成double week = x.nextDouble(); 这样就行了 int是整数类型 double是小数类型
回复 使用道具 举报
小数,需要默认double类型,Scanner sc = new Scanner(System.double)
回复 使用道具 举报
数据类型不匹配。。。。
回复 使用道具 举报
Scanner类中有很多方法的。nextInt()方法是用来接收键盘输入的int范围内的整数。还有很多种方法的比如
nextDouble()等等。详细的你可以去看一下API文档中的Scanner类。
回复 使用道具 举报
数据类型错误,以后多注意这样的细节问题。java是强类型语言
回复 使用道具 举报
你的数据类型不一样把!!!
回复 使用道具 举报
童鞋,小数类型是double或者float,记住了啊,你放个int类型上去,肯定是不行的啦
回复 使用道具 举报
屠赞华 发表于 2015-4-4 21:26
int week = x.nextInt();   你把它改成double week = x.nextDouble(); 这样就行了 int是整数类型 double是 ...

嗯,谢谢。
回复 使用道具 举报
君北羽 发表于 2015-4-4 21:33
小数,需要默认double类型,Scanner sc = new Scanner(System.double)

换成double,输入字母,还是会报错
回复 使用道具 举报
罗晓飞 发表于 2015-4-4 21:40
数据类型不匹配。。。。

嗯,确实是。
回复 使用道具 举报
呐拽 发表于 2015-4-4 22:17
Scanner类中有很多方法的。nextInt()方法是用来接收键盘输入的int范围内的整数。还有很多种方法的比如
ne ...

嗯,api很有用,谢谢
回复 使用道具 举报
叶追秋 发表于 2015-4-4 22:35
数据类型错误,以后多注意这样的细节问题。java是强类型语言

嗯,谢谢
回复 使用道具 举报
笔墨痕干 发表于 2015-4-4 22:45
你的数据类型不一样把!!!

嗯,谢谢。
回复 使用道具 举报
孙振祥 发表于 2015-4-4 23:03
童鞋,小数类型是double或者float,记住了啊,你放个int类型上去,肯定是不行的啦 ...

嗯,谢谢。
回复 使用道具 举报
sam0374 发表于 2015-4-5 22:04
换成double,输入字母,还是会报错

字母是属于字符串应该换成Intline
回复 使用道具 举报
sam0374 发表于 2015-4-5 22:07
嗯,api很有用,谢谢

不客气!!!!!
回复 使用道具 举报
君北羽 发表于 2015-4-5 22:21
字母是属于字符串应该换成Intline

换成String就好
回复 使用道具 举报
sam0374 发表于 2015-4-5 22:07
嗯,api很有用,谢谢

不客气哦  一起进步哦!!!
回复 使用道具 举报
呐拽 发表于 2015-4-6 23:04
不客气哦  一起进步哦!!!

加油,进步
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马