坚持这个迷你问题,感谢一帮
,我们将不胜感激编写使用输入字符串流inSS的代码从字符串userInput读取输入数据,并更新变量userMonth,userDate和userYear。如果用户输入是" 1992年1月12日":示例输出: 月:1月 日期:12 年:1992年
import java.util.Scanner;
public class StringInputStream {
public static void main (String [] args) {
Scanner inSS = null;
String userInput = "Jan 12 1992";
inSS = new Scanner(userInput);`
String userMonth = "";
int userDate = 0;
int userYear = 0;
/* Your solution goes here */
System.out.println("Month: " + userMonth);
System.out.println("Date: " + userDate);
System.out.println("Year: " + userYear);
return;
}
}
答案 0 :(得分:0)
由于我们已经知道userInput是一个字符串,我们可以将它标记为空格分隔的字符串,在字符串上使用 split()函数并将其存储在字符串数组中。
String[] dateArray = userInput.split(" ");
这将为您提供3个单独的字符串。的"扬"" 12" ," 1992" 。将后两个解析为整数。
userMonth = dateArray[0];
try{
userDate = Integer.parseInt(dateArray[1]);
userYear = Integer.parseInt(dateArray[2]);
}
catch(Exception e)
{
e.printStackTrace();
}
希望有所帮助。
答案 1 :(得分:0)
使用扫描仪,您可以将userMonth直接设置为月份
String userMonth = inSS.next();
它将识别白色空间(空间)并获得月份,然后它将从Stream所具有的字符串中删除它。现在我们可以使用nextInt
设置userDate和userYearint userDate = inSS.nextInt();
int userYear = inSS.nextInt();
这是有效的,因为第一个nextInt()将删除12,只留下1992年第二个int。
这将产生输出:
Month: Jan
Date: 12
Year: 1992