我们上周进行了编程考试,但我无法做到。
我们被要求制作一个程序,要求用户选择以下三个选项中的任何一个:
选择后,系统会要求您使用扫描仪输入名称。
然后它会询问你是否要再试一次,如果输入是,程序将再次循环,如果你输入相同的名字,它会提示一个错误,说你已经这样设置了。
除了那部分,我已经完成了所有这些,比较了这些值。
如何使用扫描仪比较第一和第二输入?
这是我到目前为止所做的。
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);
}
}
}
}
答案 0 :(得分:0)
您不使用扫描仪进行比较。您可以保存输入值并与之进行比较。
我会使用Set来保存值,因为Set值保证是唯一的,并且适合应用程序。您可以使用Set.contains()查找您是否已获得名称。
答案 1 :(得分:0)
假设您有两个字符串,s1
和s2
,并且您想比较它们,则应使用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");
}
您将获得所需的结果。