问题是 :


  编写一个读取用户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中的所有操作。这使事情很难测试。

08-03 17:23