Java 将随机生成的字符串与输入匹配
在爪哇Java 将随机生成的字符串与输入匹配,java,if-statement,Java,If Statement,在爪哇 如果您生成了一个完全随机的字母,例如“h”或“p”,并且您需要验证用户是否使用扫描仪输入了“h”或“p”,您将如何验证他们是否输入了不正确的内容?您可以使用If/else或编写条件短语对其进行测试: Scanner sc = new Scanner((System.in)); char character = sc.next().charAt(0); char temp; Random rand = new Random(); System.out.println((temp = (ch
如果您生成了一个完全随机的字母,例如“h”或“p”,并且您需要验证用户是否使用扫描仪输入了“h”或“p”,您将如何验证他们是否输入了不正确的内容?您可以使用If/else或编写条件短语对其进行测试:
Scanner sc = new Scanner((System.in));
char character = sc.next().charAt(0);
char temp;
Random rand = new Random();
System.out.println((temp = (char)('a' + rand.nextInt(26)))==character ? "Correct": "Incorrect, letter is: " + temp);
根据K.Rzepeckas的回答:
// generate your random string
Random r = new Random();
String s = String.valueOf((char)(r.nextInt(26) + 'a')); // generate random char a-z
// test if the user input is equal to your random string
Scanner sc = new Scanner((System.in));
String character = sc.nextLine();
System.out.println((character.equals(s) ? "Correct": "Incorrect");
编辑(使用评论中的随机函数):
如果我理解您的问题是正确的,您希望检查用户是否输入了相同的随机字母,然后尝试以下代码:
Random rnd = new Random();
int randomNumber = rnd.nextInt(25); // since index starts with 0
String abc = "abcdefghijklmnopqrstuvxyz";
char aChar = abc.charAt(randomNumber);
String myLetter = Character.toString(aChar);
// System.out.println(myLetter ); // so you could check the letter
Scanner sc = new Scanner(System.in);
System.out.println("enter a number: ")
String input = sc.nextLine();
if(input.equals(myLetter)){
System.out.println("Right" );
}
else{
System.out.println("Wrong");
}
@jackjay所以我试着对我设置为测试的字符串使用if语句,但我不确定如何使用随机字母进行检查,因为我不知道如果这有意义,字母会是什么?如果你发布你尝试过的内容,这很好?@jackjay if((c>='a'&&c='a'&&c但字母可以是a-z,不仅仅是h和p,它们只是示例。基本上是这样的--System.out.println(GeneratorAndochars(“abcdefghijklmnopqrstuvwxyz”,1))然后随机生成上面的1个字母,但问题是我无法预测它是正确的还是错误的。这就是你现在要找的吗?
Random rnd = new Random();
int randomNumber = rnd.nextInt(25); // since index starts with 0
String abc = "abcdefghijklmnopqrstuvxyz";
char aChar = abc.charAt(randomNumber);
String myLetter = Character.toString(aChar);
// System.out.println(myLetter ); // so you could check the letter
Scanner sc = new Scanner(System.in);
System.out.println("enter a number: ")
String input = sc.nextLine();
if(input.equals(myLetter)){
System.out.println("Right" );
}
else{
System.out.println("Wrong");
}