如何比较Java中的两个用户输入实例?

时间:2011-08-07 07:56:40

标签: java java.util.scanner

我们上周进行了编程考试,但我无法做到。

我们被要求制作一个程序,要求用户选择以下三个选项中的任何一个:

  • 名字命名
  • 中间名
  • 姓氏。

选择后,系统会要求您使用扫描仪输入名称。

然后它会询问你是否要再试一次,如果输入是,程序将再次循环,如果你输入相同的名字,它会提示一个错误,说你已经这样设置了。

除了那部分,我已经完成了所有这些,比较了这些值。

如何使用扫描仪比较第一和第二输入?

这是我到目前为止所做的。


public class PXM {
    private String givenname;
    private String middlename;
    private String lastname;

    public void setGN(String gn) {
        this.givenname = gn;
    }
    public void setMN(String mn) {
        this.middlename = mn;
    }
    public void setLN(String ln) {
        this.lastname = ln;
    }
    public boolean equals() {
    }
}

import java.util.*;

public class TestPXM {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        String yes;
        int t;

        PXM p1 = new PXM(); {
            System.out.println("1. given name ");
            System.out.println("2. middle name");
            System.out.println("3. last name");

            System.out.print("select method: ");
            int method = sc.nextInt();
            if (method == 1) {
                System.out.println("enter given name: ");
                String gn = sc.next();
                p1.setGN(gn);
            }
        }
    }
}

3 个答案:

答案 0 :(得分:0)

您不使用扫描仪进行比较。您可以保存输入值并与之进行比较。

我会使用Set来保存值,因为Set值保证是唯一的,并且适合应用程序。您可以使用Set.contains()查找您是否已获得名称。

答案 1 :(得分:0)

假设您有两个字符串,s1s2,并且您想比较它们,则应使用equals()方法:

if (s1.equals(s2)) {
    // strings are the same
} else {
    // strings are different
}

如果您不知道如何使用扫描仪,请查看here

答案 2 :(得分:0)

你可以用这个: 由于您已将变量设置为:

p1.setGN(gn);

您可以在适当的提示后再次阅读输入,例如:

String gn=sc.next();

然后使用getter方法比较对象p1中存储的变量:

public String getGN()
{
return this.givenname;
}

现在,如果你这样做

if(gn.equals(p1.getGN())
{
System.out. println("You have already set that");
}

您将获得所需的结果。