有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用比较字符串打印Java if/else

Possible Duplicate:
How do I compare strings in Java?

是的,标题听起来很有趣,我正在为一个特别的人做这个项目,我想通过给她写一个简单的程序来约她出去。我在执行这个想法时遇到了一些麻烦。我有一个伪代码的计划在我的脑海中,但需要帮助执行它。我计划让她在控制台中输入问题的是或否答案,并让程序根据她的输入给出答案。我的想法是她对问题的回答是或否,然后说,如果输入是“是”,然后打印这个陈述,否则如果“否”,打印这个陈述。我目前在使用if-else部分时遇到问题。我不能让弦在if语句中表现得像布尔,所以我需要一些帮助。我从以下代码开始:

import java.io.*;
public class ask {
    public static void main(String [] args) throws IOException {
        BufferedReader in = new BufferedReader
                (new InputStreamReader(System.in));
        String answer;
        System.out.print("Would you like to go out with me? ");
        System.out.flush();
        answer = in.readLine();
        Boolean hope = Boolean.valueOf("yes");
        if (answer == hope) {
            System.out.print("Awesome!");
        }

        else
            System.out.print("Not awesome!");

    }
}

很明显,我并没有用那个问题来回答这些问题,我只是把它作为一个例子,只是为了让程序本身工作。我不能把答案和希望相比较,因为一个是布尔值,另一个是字符串,我也不能用字符串来做字符串,所以我怎么才能让它工作呢。有什么想法吗? 编辑:男人们只是想说,我知道她会答应的,这只是一个邀请她出去的可笑的方式。我会亲自和她一起做这件事,我会告诉她只使用“是”或“否”,这样就可以了,这只是一个简单的小项目。不需要任何建议或意见,除了如何让这个工作请!谢谢


共 (4) 个答案

  1. # 1 楼答案

    您可以使用字符串比较方法equalsequalsIgnoreCase来比较用户输入

    试试这个

    public static void main(String[] args) throws IOException {
            BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
            String answer;
            System.out.print("Would you like to go out with me? ");
            System.out.flush();
            answer = in.readLine();
    
            if (answer.equalsIgnoreCase("YES")) { // Comparing the input with String.
                System.out.print("Awesome!");
            }
    
            else
                System.out.print("Not awesome!");
    
        }
    

    我建议您使用equalsIgnoreCase方法。因为用户可以输入yes、yes、yes等,所以它只会忽略大小写

  2. # 2 楼答案

    给你:用你的特定问题替换数组值

    import java.io.*;
    import java.util.Scanner;
    public class ask {
    public static void main(String [] args) throws IOException {
    
        String[] Questions={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
    
        int min=0;
        int max=Questions.length;
        String answer = null;
        Scanner input = new Scanner(System.in);
        for(int i=0;i<Questions.length;i++){
             int randomNum = min + (int)(Math.random()* max);
    
             System.out.println("Your Question: " +Questions[randomNum] ); 
             answer =input.next();
             if (answer.equals("yes")){
                 System.out.println("Awesome Girl");
             }
             if (answer.equals("no")){
                 System.out.println("Bad Girl");
             }
    
             if (answer.equals("Hope")){
                 System.out.println("Hmmm..Some Hope Left");
             }
    
    
             } } }
    
  3. # 3 楼答案

    你可以使用字符串。等于()以比较字符串 例如“是”。等于(答案),用于比较是和变量答案

  4. # 4 楼答案

    调查switch语句:来自tutorial的信息

    然后,除了“是”和“不是现在”之外,您还可以选择“可能”、“不是现在”等可能的回答;没有