获取值从文本框中用逗号分隔并存储为数组JAVA

Mic*_*son 1 java arrays input

我不太确定怎么说这个,但基本上我想用xxx, xxx, xxx格式的rgb颜色读取并将每个存储xxx在一个数组中.我正在制作一个程序将rgb转换为十六进制.直到我创建了我的gui(可能需要一些时间),我正在终端执行并输入.

目前这就是我在做的事情:

System.out.println("Enter the first set:");
rgb[0] = new Scanner(System.in).nextInt();`
System.out.println("Enter the second set:");
rgb[1] = new Scanner(System.in).nextInt();
System.out.println("Enter the third set:");
rgb[2] = new Scanner(System.in).nextInt(); 
Run Code Online (Sandbox Code Playgroud)
  • 我见过人们使用.split(","),这是做我想要的最好方法吗?
  • 正则表达式会更好吗?
  • 有人知道我可以使用的任何教程吗?我找到的大部分都让我比以前更加困惑.

只是因为你知道我没有为一个项目做这件事(在任何人指责我之前).我已经有了算法,除此之外其他一切都有效.

ars*_*jii 5

以下是我的建议:

  • Scanner每次要读取输入时都不要创建新实例.只需在程序开头创建一个并在整个过程中重复使用它.

  • split方法将正则表达式作为其参数,并返回a String[](在其参数的每个匹配上拆分字符串).因此,如果您计划解析表单的字符串,"xxx, xxx, xxx"那么.split(",\\s*")这可能是您最好的选择.\s匹配任何空白字符并\s*匹配\s零次或多次.

  • 我假设rgb是一个int[],所以你可以遍历String[]split(如上所述)获得的,调用Integer.parseInt每个元素,并将解析的int添加到rgb.


相关文件