| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1117 人关注过本帖
标题:简单程序的问题!
只看楼主 加入收藏
victory623
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-12-8
收藏
 问题点数:0 回复次数:9 
简单程序的问题!
程序为了实现输入月份显示对应英文,程序清单如下:
import *;
public class sy1_2 {
    /**
     * @param args
     */
    public static void main(String[] args)throws IOException
    {
        // TODO Auto-generated method stub;
        while(true)
        {
            System.out.print("请输入如月份数:");
            int a=System.in.read();
            switch(a)
            {
            case 1:System.out.println("January");break;
            case 2:System.out.println("February");break;
            case 3:System.out.println("March");break;
            case 4:System.out.println("April");break;
            case 5:System.out.println("May");break;
            case 6:System.out.println("June");break;
            case 7:System.out.println("July");break;
            case 8:System.out.println("August");break;
            case 9:System.out.println("September");break;
            case 10:System.out.println("October");break;
            case 11:System.out.println("November");break;
            case 12:System.out.println("December");break;
            default:System.out.println("输入有误请重试!");
            }
        }
    }

}
可是结果却不对
结果为:
请输入如月份数:1
输入有误请重试!
请输入如月份数:输入有误请重试!
请输入如月份数:October
请输入如月份数:

不知怎么回事,请高手赐教!不胜感激!
搜索更多相关主题的帖子: public import method 英文 
2008-12-08 22:08
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
你输出一下a的值就知道为什么了
你输入1,a并非是1!

[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2008-12-08 22:14
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
import *;
import java.util.Scanner;
public class sy1_2 {
    /**
     * @param args
     */
    public static void main(String[] args)throws IOException
    {
        // TODO Auto-generated method stub;
        while(true)
        {
            System.out.print("请输入如月份数:");
            int a=new Scanner(System.in).nextInt();
            System.out.println(a);
            switch(a)
            {
            case 1:System.out.println("January");break;
            case 2:System.out.println("February");break;
            case 3:System.out.println("March");break;
            case 4:System.out.println("April");break;
            case 5:System.out.println("May");break;
            case 6:System.out.println("June");break;
            case 7:System.out.println("July");break;
            case 8:System.out.println("August");break;
            case 9:System.out.println("September");break;
            case 10:System.out.println("October");break;
            case 11:System.out.println("November");break;
            case 12:System.out.println("December");break;
            default:System.out.println("输入有误请重试!");
            }
        }
    }
}

[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2008-12-08 22:17
victory623
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-12-8
收藏
得分:0 
为什么呀,斑竹能说清楚点吗,我刚开始学java,不太能看懂您修改后的程序中的包,谢谢斑竹!
2008-12-08 22:27
wangbozhi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-12-8
收藏
得分:0 
楼上的是对的,

事事未必尽如人意,但求无愧于心……
2008-12-08 22:28
victory623
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-12-8
收藏
得分:0 
我试啦,可是我定义的是整型,怎么读入的是字符型那?请斑竹讲讲,谢谢!
2008-12-08 22:28
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
那个类去google下就知道了
System.in.read 获取的是字符的asc码,如输入1,你的a是49

[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2008-12-08 22:31
victory623
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-12-8
收藏
得分:0 
哦,谢谢!
2008-12-08 22:33
javaresum
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-12-12
收藏
得分:0 
int a=System.in.read()有问题。
把int a=System.in.read();
换成这个代码
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int a=Integer.parseInt(in.readLine());
2008-12-12 22:19
terryf50
Rank: 2
等 级:论坛游民
帖 子:28
专家分:14
注 册:2007-5-25
收藏
得分:0 
这个是输入流的问题read(),bufferedReader()是一个包装类,我建议你试写下这两个类,buffered
reader是比较高级的包装了read(),这个问题要知己写下代码体会下他的作用。
2008-12-13 10:27
快速回复:简单程序的问题!
数据加载中...
 
   



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

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