我不太确定怎么说这个,但基本上我想用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(","),这是做我想要的最好方法吗?只是因为你知道我没有为一个项目做这件事(在任何人指责我之前).我已经有了算法,除此之外其他一切都有效.
以下是我的建议:
Scanner每次要读取输入时都不要创建新实例.只需在程序开头创建一个并在整个过程中重复使用它.
该split方法将正则表达式作为其参数,并返回a String[](在其参数的每个匹配上拆分字符串).因此,如果您计划解析表单的字符串,"xxx, xxx, xxx"那么.split(",\\s*")这可能是您最好的选择.\s匹配任何空白字符并\s*匹配\s零次或多次.
我假设rgb是一个int[],所以你可以遍历String[]从split(如上所述)获得的,调用Integer.parseInt每个元素,并将解析的int添加到rgb.
相关文件