📜  门| GATE-IT-2004 |第62章(1)

📅  最后修改于: 2023-12-03 15:42:19.430000             🧑  作者: Mango

门 GATE-IT-2004 第62章介绍

简介

GATE-IT-2004 是印度理工学院 (IIT) 在 2004 年举办的一次全国研究生入学考试,考试时长三小时,共包含65道题目,分为数学、计算机科学、逻辑推理、资料解释四个部分。本章介绍其中的第62题。

题目描述

一个用JAVA写的简单程序执行了如下几行代码:

System.out.print("Enter numerical value: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int x = Integer.parseInt(str);
System.out.print("Enter the value of y: ");
sc = new Scanner(System.in);
float y = sc.nextFloat();
z = x*y;
System.out.println("Multiplication result: " + z);

在程序执行时,如果输入的是一个字符串,会发生什么?

(A) 程序会停止运行,提示错误信息 "input mismatch" (B) 程序会停止运行,提示错误信息 "number format exception" (C) 程序会停止运行,提示错误信息 "null pointer exception" (D) 程序将字符串转换成 0 并执行乘法运算

解答

答案是 (B) 程序会停止运行,提示错误信息 "number format exception"。

在上述程序中,第一部分将输入的数据读取为字符串,然后转换为 int 类型存储在变量 x 中,如果输入的字符串不能转换为 int 类型,就会抛出 NumberFormatException 异常,导致程序停止运行。这也是为什么答案不是 (D) 程序将字符串转换成 0 并执行乘法运算的原因。