Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将随机生成的字符串与输入匹配_Java_If Statement - Fatal编程技术网

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"); 
     }