这是我以前从未见过的一个新错误,我会非常感谢一些帮助
import java.util.Scanner;
public class InClass_Module_5 {
public static void main(String[] args) {
//char choice;
String vehicle1, vehicle2, vehicle3, vehicle4, anStr;
vehicle1 = "Mercedes-Benz C350 Sport Sedan";
vehicle2 = "Volkswagen Touareg";
vehicle3 = "Nissan Murano";
vehicle4 = "Ford F-150";
anStr = " is a perfect vehicle for you!";
System.out.println("Enter the letter corresponding to the vehicle you would like to own:");
Scanner in = new Scanner(System.in);
char choice;
System.out.print("\nEnter the letter corresponding to the vehicle you would like to own: ");
choice = (char)System.in.read();
if(choice >= 'A' && choice <= 'D')
//choice += 32;
if(choice >= 'a' && choice <= 'd')
//choice -= 32;
System.out.println("A. " + vehicle1);
System.out.println("B. " + vehicle2);
System.out.println("C. " + vehicle3);
System.out.println("D. " + vehicle4);
System.out.println("You chose letter: " + choice);
if (choice == 'A') {
System.out.println("The " + vehicle1 + anStr);
} else if (choice == 'B'){
System.out.println("The " + vehicle2 + anStr);
} else if (choice == 'C') {
System.out.println("The " + vehicle3 + anStr);
} else if (choice == 'D') {
System.out.println("The " + vehicle4 + anStr);
} else {
System.out.println("You made an in-valid selection and will not be driving anything today!");
}
}
}
错误:
找到1个错误:文件:/ Users / gcaruso / Documents / CISS 110 / Module 3 / Module 4 / InClass_Module_5.java [line:31]错误: / Users / gcaruso / Documents / CISS 110 / Module 3 / Module 4 / InClass_Module_5.java:31:notported exception java.io.IOException; 必须被抓住或宣布被抛出
提前谢谢
答案 0 :(得分:3)
语句System.in.read();
可以抛出一个IOException
,这是一个经过检查的异常,这意味着如果抛出异常,则需要您的代码处理异常。
捕获代码中的异常,或声明main
可以抛出此异常。正确的方法取决于抛出异常时您想要做什么:如果您希望程序以错误终止,只需声明main
throws
IOException
。
public static void main(String[] args) throws IOException {
否则,抓住异常并根据需要进行处理。
另一方面,您正在创建一个Scanner
对象但不使用它(您应该收到一条警告消息)。如果您不需要,只需将其删除即可。
答案 1 :(得分:0)
将你的第31行包裹在try / catch块中,如下所示:
try
{
// Whatever your line 31 is
}
catch(java.io.IOException)
{
// Your error handling code
}
指定某些方法在出现错误时抛出某些异常(错误)。必须通过try / catch块捕获和处理这些异常,以隔离异常并防止它在整个代码中级联。有关详细信息,请参阅Java Tutorial。
答案 2 :(得分:0)
所以,你要求用扫描仪输入信息,而且事情可能会出错,所以基本上它要你实施一个“备份计划”。可以这么说。你可以抛出异常:
public static void main(String[] args) throws IOException{...
或者你可以使用try / catch块,它会尝试一些东西:
try {
choice = (char)System.in.read();
} catch ( IOException e ) {
System.out.println("Oh no! better clean up!");
in.close();
e.printStackTrace();
}
这里的try / catch语句尝试在&#39;尝试{...}&#39;阻止,如果失败,它会在“捕捉{...}&#39;块。
答案 3 :(得分:0)
至少你可以替换这个
choice = (char)System.in.read();
由此
choice = in.next().charAt(0);
choice = Character.toLowerCase(choice);
因此,您只获取输入用户的第一个字符,然后将大小写更改为