我是Java新手,使用字符串,键盘类方法和扫描程序处理Java Assignment。我不确定在不同情况下使用哪种方法。我必须提示用户输入他们的城市和州,并且必须打印出以大写形式打印出状态的结果,以小写形式打印城市状态,然后再以大写形式再次打开状态。作业的问题在这里:
声明两个新变量city和String类型的状态。在程序中添加语句以提示用户进入他们的家乡 - 城市和州。使用适当的键盘类方法读入结果。然后使用 String类方法创建并打印一个新的字符串,该字符串包含状态名称(全部为大写字母),后跟城市名称(全部为小写字母),然后再显示状态名称(大写) 。因此,如果用户为城市和北卡罗来纳州输入Lilesville状态,程序应创建并打印字符串: NORTH CAROLINAlilesvilleNORTH CAROLINA
我的代码:
import java.util.Scanner;
int city, state;
Scanner scan = new Scanner (System.in);
System.out.println ("Enter your hometown city:");
city = scan.nextInt();
System.out.println ("Enter your hometown state:");
state = scan.nextInt();
当我运行程序时,我输入城市然后收到运行时错误。编译器说:
“java.util.InputMismatchException: null(在java.util.Scanner中)“
总之,我要问的最后一个问题是如何使用Keyboard类方法读取结果以及如何使用字符串类方法打印类似“NORTH CAROLINAlilesvilleNORTH CAROLINA”(EX)的内容。 如果您对我所说的任何内容感到困惑,我感到很抱歉,并感谢所有帮助。非常感谢你提前。
答案 0 :(得分:2)
您获得的MisMatch异常是因为您使用的数据类型不正确。 state和city声明为int,但您输入的名称。
因此,而不是int,将state和city声明为字符串,并使用scan.nextLine()而不是scan.nextInt()。