【发布时间】:2020-05-12 09:13:27
【问题描述】:
Scanner input = new Scanner(System.in);
String[] colors = {"R", "G", "B", "P", "O", "Y"};
String guess = "";
String valid = false;
//Get Input
guess = input.nextLine().toUpperCase();
// Change String Array to Regular String
String Colors = "";
for(int i=0; i<colors.length; i++) {
Colors += colors[i];
}
// See if Guess Consists out of Correct Letters
if(guess.matches(Colors)) {
valid = true;
}
基本上我想用这段代码实现的是检查给定的输入是否满足要求。
在这种情况下,guess 是否只包含colors 中给出的字母,例如:
如果guess = RGB 那么valid = true
如果guess = RGBA 那么valid = false
我知道我也可以像这样手动输入:
if(guess.matches("[RGBPOY]+")) {
valid = true;
}
但我想保持程序化。
有没有办法让它工作?还是我最好使用不同的方法,比如 for 循环?
我最近才开始接触 JAVA,还不熟悉它提供的所有不同方法。
【问题讨论】:
-
你的 if 语句对我来说似乎很好。
标签: java