-2

好吧,我被难住了。我真的对此进行了调查,似乎无法具体找到我想要做的事情。我在学校学习 Java 已经两周了,并且是编程新手,所以请原谅我可能犯的任何错误。

我正在开发一个字符串操作程序,在其中的其他任务中,我要创建一个名为 names 的字符串SunMonTueWedThuFriSat,现在我需要弄清楚如何在JOptionPane中抓取和显示该字符串中与数字一起出现的 3 个字符我应该与他们关联(0=Sun, 1=Mon, etc.)所以如果用户输入 2 它应该显示 Tue。我对如何在字符串中显示这些字符有基本的了解,但是对于我的生活,我似乎无法弄清楚如何将这些数字与这些字符相关联。每次我尝试做某事时,我都会不断遇到错误和沮丧。

感谢你的帮助!!!

4

5 回答 5

1

如果一周中的日期必须在单个字符串中,您可以为每个 3 个字符的子字符串解析字符串,然后将其存储在 ArrayList 中。然后,提供的数字将匹配列表中星期几的索引。

于 2013-02-08T05:05:33.253 回答
0

检查HashMap

例如:

HashMap<int, String> aWeekMap = new HashMap();
aWeekMap.put(0, "Mon");
aWeekMap.put(1, "Tue");

System.out.println(aWeekMap.get(0)); // prints Mon.

在内存中,您可以想象如下:

在此处输入图像描述

于 2013-02-08T05:13:24.583 回答
0

如果你可以使用一个字符串数组,它会更容易:

String[] names = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

int input = 2;

System.out.println("The day is " + names[input]);
于 2013-02-08T05:13:57.663 回答
0

您应该可以只使用子字符串,因为所有缩写都是三个字符。

String s = "SunMonTueWedThuFriSat";

提示用户输入一个数字(0-6):

String in = JOptionPane.showInputDialog("Please input a number (0-6)");

现在将其转换为数字

int choice = Integer.parseInt(in);

并选择字符串的正确部分:

String day = s.substring(choice*3, choice*3+3);

现在只需在 JOptionPane 中显示这一天:

JOptionPane.showMessageDialog(null, "Information", "You chose: " + day, 
    JOptionPane.INFORMATION_MESSAGE));
于 2013-02-08T05:25:55.673 回答
0

使用以下代码

private ArrayList arr=new ArrayList();
arr.Add(0,names.subString(0,2);
arr.Add(0,names.subString(3,5);
arr.Add(0,names.subString(6,8);
arr.Add(0,names.subString(9,11);
arr.Add(0,names.subString(12,14);
arr.Add(0,names.subString(15,17);
arr.Add(0,names.subString(18,20);

JOptionPane.showInputDialog(null, "Please choose a name", "Example 1",
        JOptionPane.QUESTION_MESSAGE, null, arr);
于 2013-02-08T05:51:00.597 回答