如何提示用户输入信息然后使用键盘类方法打印结果?

时间:2016-09-25 23:44:05

标签: java string keyboard java.util.scanner

我是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)的内容。 如果您对我所说的任何内容感到困惑,我感到很抱歉,并感谢所有帮助。非常感谢你提前。

1 个答案:

答案 0 :(得分:2)

您获得的MisMatch异常是因为您使用的数据类型不正确。 state和city声明为int,但您输入的名称。

因此,而不是int,将state和city声明为字符串,并使用scan.nextLine()而不是scan.nextInt()。