簡體   English   中英

我的輸出有問題

[英]I have some issue with my output

每年夏天,Cullerton Part District 都會舉辦一場小型奧運會。 創建一個名為 Participant 的類,其中包含姓名、年齡和街道地址的字段。 包括一個為每個字段分配參數值的構造函數和一個返回包含所有值的字符串的 toString() 方法。 還包括一個 equals() 方法,如果兩個參與者在所有三個字段中具有相同的值,則該方法確定兩個參與者相等。 創建一個具有兩個數組的應用程序,每個數組至少有 5 個參與者——一個持有迷你馬拉松的參與者,另一個持有潛水比賽的參與者。 提示用戶同時參加這兩個事件的參與者將文件保存為 BC.java 和 ABC.java。

import javax.swing.JOptionPane;
import java.util.*;

public class ABC {
     private  static Participant mini[] = new Participant[2];


    public static void main(String[] args) {

        setParticipant();
        displayDetail();

    }


        // BC p=new BC(name,age,add);
    //displayDetails();
        // System.out.println(    p.toString());
    public static void displayDetail() {

        String name=null;
       String add = null;
        int age=0;

        System.out.println("Name\tAdress\tAge");
      BC p=new BC(name,age,add);
        for (int x = 0; x < mini.length; x++) {
//Participant p1=mini[x];
            System.out.println(p.toString());
        }
    }



           public static String getName() {
              Scanner sc = new Scanner(System.in);
              String name;
             System.out.print(" Participant  name: ");
              return name = sc.next();
           }

         // System.out.print(" Participant  name: ");
         // name = sc.next();
          public static int getAge() {
int age;
               System.out.print(" Enter age ");
                 Scanner sc=new Scanner(System.in);;
                return age= sc.nextInt();
          }
         public static String getAdd() {
             String add;

            Scanner sc=new Scanner(System.in);;
       System.out.print("Enter  Address: ");
       return add=sc.next(); 
         }


    public static void setParticipant(){
        for (int x = 0; x < mini.length; x++) {
         System.out.println("Enter loan details for customer " + (x + 1) + "...");
//Character loanType=getLoanType();
        //String loanType=getLoanType();
        String name=getName();
          String add=getAdd();
          int age=getAge();
         System.out.println();
        }


      }
    }

    //another class
public class BC {


    private String name;
    private int age;
    private String address;


    public BC(String strName, int intAge, String strAddress) {

        name = strName;
        age = intAge;
    address = strAddress;
    }


    @Override
    public String toString() {
        return "Participant [name=" + name + ", age=" + age + ", address=" + address + "]";
    }
public boolean equals(Participant value){
    boolean result;
    if (name.equals(name) && age==value.age && address.equals(address))
            result=true;
    else 
        result=false;
    return result;
        }





}

outPut:
Enter loan details for customer 1...
 Participant  name: hddgg
Enter  Address: 122
 Enter age 12

Enter loan details for customer 2...
 Participant  name: ddjkjde
Enter  Address: hdhhd23
 Enter age 12
//Why I'm not getting right output
Name    Adress  Age
Participant [name=null, age=0, address=null]
Participant [name=null, age=0, address=null]

由於此方法,您將獲得該輸出:

public static void displayDetail() {

    String name=null;
    String add = null;
    int age=0;

    System.out.println("Name\tAdress\tAge");
    BC p=new BC(name,age,add);
    for (int x = 0; x < mini.length; x++) {
        //Participant p1=mini[x];
        System.out.println(p.toString());
    }
}

您正在創建一個 BC,名稱為 null,添加為 0,年齡為 0。 然后您將其打印兩次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM