Java读入int数字利用system.in判别季节小测验

         看到前面客户端的代码,很明显会想到里面的关于输入输出的部分,对于Java基础没有学全的我很少难受,所以写一个例子可以复习一下输入输出,判断季节的例子:判断输入1~12的数字,然后判断这是从键盘输入一个数字,当输入的不是数字时报错要求重新输入。

       关于输入输出首先想到的是byte流和char流,这是输入输出流里基本的两个流,若是纯文本的读写就用char流,比如word读写或者聊天工具的开发;若是非纯文本比如图片音频视频的数据的传输就用byte流。

      System.in只能按字节读取。因此默认情况下,无法读取char数据,可以使用 InputStreamReader 来包装System.in对象,这样就可以读取到 char类型了,再转换成int类型,这样可能有些麻烦,但目前只学到这个阶段

public class SeasonShow {

	/**
	 * 输入一个数字然后判断属于哪个月份
	 * 难点在于数组的读取
	 * System.inSystem.in 是PrintStream的一个实例,参见PrintStream的方法。 
	 * 只能按字节读取。因此默认情况下,无法读取char数据。 
	 * 可以使用 InputStreamReader 来包装System.in对象,这样就可以读取到 char类型了。
	 */
	public static void main(String[] args) throws IOException {
		int num = 0;
		do{
		System.out.println("请输入月份");
		InputStream input = System.in;
		//读取数据
		BufferedReader bufr = new BufferedReader(new InputStreamReader(input)); 
		//封装成String在转换成int格式
		String data = bufr.readLine();
			 try {  
				 num = Integer.parseInt(data); 
			 }catch(NumberFormatException e) {  
			System.out.println("你输入的不是数字,请重新输入!"); 
			}
		}
		while(num>12||num<0);
								
		System.out.println("Month:"+num);
		if(num>-1&&num<4){
			System.out.println("该月份是:Spring");
		}
		else if(num>3&&num<7){
			System.out.println("该月份是:Summer");
		}
		else if(num>7&&num<9){
			System.out.println("该月份是:Autumn");
		}
		else{
			System.out.println("该月份是:Winter");
		}
				
		/*
		    InputStream input = System.in;  
		    你可以把它封装成  
			BufferedReader buf = new BufferedReader(   
			new InputStreamReader(input));   
			也可以把它封装成  
			DataInputStream in = new DataInputStream(input);  
			String line = (String)in.readUTF();  
			或者  
			byte[] buf= new byte[1024];  
			in.read(buf);  
		 */
	}
}

运行结果为:
   

哈哈,运行成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值