Peter-别看是Java基础,很多人已入坑,2021新鲜出炉阿里巴巴面试真题

这篇博客介绍了Java编程的基础,包括从用户获取输入、处理IOException和NumberFormatException。通过示例代码展示了如何读取用户的名字、出生年份和当前年份,计算并输出用户的年龄。同时,强调了在处理用户输入时进行异常处理的重要性。
摘要由CSDN通过智能技术生成
try {
     String firstName = bufRead.readLine();
}
catch (IOException err) {
     System.out.println("Error reading line");
}

这将尝试读取输入。然后它将捕获任何IOException错误并打印出用户友好的错误(如果发生)。在这种情况下,错误是“ Error reading line”。
在该try区块内,我们还会要求用户输入他们的名字,否则用户将无法知道他/她应该输入的内容:

try {
     System.out.println("Please Enter In Your First Name: ");
     string firstName = bufRead.readLine();
}
catch (IOException err) {
     System.out.println("Error reading line");
}

现在让我们把我们的代码放在一起。

import java.io.* ;
class Tut1 {
     public static void main(String args[])
     {
               InputStreamReader istream = new InputStreamReader(System.in) ;
               BufferedReader bufRead = new BufferedReader(istream) ;
               
               System.out.println("Welcome To My First Java Program");
          try {
               System.out.println("Please Enter In Your First Name: ");
               String firstName = bufRead.readLine();
          }
          catch (IOException err) {
               System.out.println("Error reading line");
          }
     }	
}

恭喜!你现在已经做了一个相当无用的程序。它要求提供信息并且不做任何事情。

我们现在将扩展此基本代码。
我们还想询问用户的出生年份和当前年份:

System.out.println("Please Enter In The Year You Were Born: ");
String bornYear = bufRead.readLine();

System.out.println("Please Enter In The Current Year: ");
String thisYear = bufRead.readLine();

根据这些信息,我们想要计算人的年龄。但是有一个问题 - 你如何string从另一个人那里拿走一个string。你不能,所以我们必须将string值更改为数值。我们将使用函数将string值转换为IntegerparseInt

int bYear = Integer.parseInt(bornYear);
int tYear = Integer.parseInt(thisYear);

这段代码必须在一个try catch块中。然后,您可以捕获转换错误:

catch(NumberFormatException err) {
     System.out.println("Error Converting Number");
}

下一步是计算人的年龄并输出所有数据:

int age = tYear – bYear ;
System.out.println("Hello " + firstName + ". You are " + age + " years old");

最后一步是结合我们所有的代码:

import java.io.* ;

class Tut1 {
     public static void main(String args[])
     {
          InputStreamReader istream = new InputStreamReader(System.in) ;
          BufferedReader bufRead = new BufferedReader(istream) ;

          System.out.println("Welcome To My First Java Program");
	
          try {
               System.out.println("Please Enter In Your First Name: ");
               String firstName = bufRead.readLine();

               System.out.println("Please Enter In The Year You Were Born: ");
               String bornYear = bufRead.readLine();

               System.out.println("Please Enter In The Current Year: ");
               String thisYear = bufRead.readLine();

               int bYear = Integer.parseInt(bornYear);
               int tYear = Integer.parseInt(thisYear);

               int age = tYear – bYear ;
               System.out.println("Hello " + firstName + ". 
				You are " + age + " years old");
          }
          catch (IOException err) {
               System.out.println("Error reading line");
          }
          catch(NumberFormatException err) {


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值