问题是 :
编写一个读取用户2的全名的程序,然后确定该2是否为兄弟。
样品运行:
输入2个名称:
- First name: Ali Ibrahim Mohammed
- Second name: Ahmad Ibrahim Mohammed
Ali and Ahmad are brothers
import java.util.*;
public class Test
{
static Scanner scan = new Scanner (System.in);
public static void main(String args[])
{
String name1 = ""; //the name1 without first name
String name2 = ""; //the name2 without first name
String firstname1="";//only the first name of name1
String firstname2="" ;//only the fist name of name2
String fname ="";
String lname ="";
String string, string2;
int space ;
int i =0;
int j=0;
System.out.println("Enter 2 names :");
while ( i<2 )
{
if (i==0)
System.out.println("- First name :");
else
System.out.println("- Second name :");
while (j==i)
{
string = scan.nextLine();
space= string.indexOf(" ");
fname = string.substring(0,space);
string2 = string.toLowerCase();
lname = string.substring(space);
string2 = lname.toLowerCase();
j++;
}
if(i==0){
firstname1=fname;
lname=name1;
}
else if(i==1){
firstname2=fname;
lname=name2;
}
i++;
}
if ( name1.equals(name2))
System.out.println(firstname1 + " and " + firstname2 + " are brothers ");
else
System.out.println(firstname1 + " and " + firstname2 + " are NOT brothers ");
}
}
我试图编写代码,但是即使姓氏不同,他们也总是兄弟!
最佳答案
尝试将您的问题分解为较小的问题,并对每个问题进行编码。例如,
您应该如何代表一个人的名字?每个人都有姓,名和姓吗?如果有人只输入George Booth,会发生什么?
你可以写一个Name
类吗?
什么是更好的变量名集?
您将如何测试您的代码?
另外,请尝试不执行main
中的所有操作。这使事情很难测试。