【问题标题】:I'm trying to write a personclass and a personTester in Java我正在尝试用 Java 编写一个 personclass 和一个 personTester
【发布时间】:2014-02-13 17:23:32
【问题描述】:

到目前为止,对于我的 personClass,我有以下内容:

package personclass;

public class Personclass {
private static boolean Personclass;
private int PersonCount;
    public int getPersonCount()
    {
        return PersonCount;
    }

    private String FirstName;
    private String LastName;
    private int Age;
    private Double Height;
    private String Gender;

    public Personclass(String foreName, String surName, int age, Double height, String gender)
    {
        FirstName = foreName;
        LastName = surName;
        Age = age;
        Height = height;
        Gender = gender;
    }

    private String getFirstName()
        {
    return FirstName;
}

private void setFirstName(String foreName)
{
    this.FirstName = foreName;
}

private String getLastName()
{
    return LastName;
}

private void setLastName(String surName)
{
    this.LastName = surName;
}

private int getAge()
{
    return Age;
}

private void setAge(int age)
{
    this.Age = age;
}

private Double getHeight()
{
    return Height;
}

private void setHeight(Double height)
{
    this.Height = height;
}

private String getGender()
{
    return Gender;
}

private void setGender(String gender)
{
    this.Gender = gender;
}

/**
 *
 * @param FirstName
 * @param LastName
 * @param Age
 * @param Height
 * @param Gender
 */
public Personclass(String FirstName, String LastName, int Age, double Height, String Gender)
{
    this.FirstName = FirstName;
    this.LastName = LastName;
    this.Age = Age;
    this.Height = Height;
    this.Gender = Gender;
            ++PersonCount;
}

/**
 *
 * @return 
 */

@Override
public String toString()
{
        return "Person[forename=" + getFirstName() + ", surname=" +  getLastName() +  ", age=" + getAge() + ", height=" + getHeight() +"m" + ", gender=" + getGender() +"]";
}
public String format()
{
        return String.format("%10s %10s %10d %10.2f %10s", getFirstName() , getLastName() , getAge() , getHeight() , getGender());
}

public static void main(String[] args) 
{

}
}

对于我的 personTester,我有以下代码:

package personclass;

public class PersonTester
{
public static void main(String[] args) 
{

        Person person1 = new Person("Joe","Smith",25,1.57,"Male");

        Person person2 = new Person("Sain","Davies",18,1.73,"Female");

        Person person3 = new Person("John","White",22,1.60,"Male");

        Person person4 = new Person("Martin","Taylor",26, 1.54,"Male");

        Person person5 = new Person("Jessica","Clarke",19,1.70,"Female");

        System.out.println(person1.toString());
        System.out.println(person2.toString());
        System.out.println(person3.toString());
        System.out.println(person4.toString());
        System.out.println(person5.toString());

}
}

当我尝试运行 personTester 时,我遇到的问题是不会打印任何东西。我将如何尝试将五个不同的人打印出来?

【问题讨论】:

  • 你有两个main 方法。一个程序应该只有一个。尝试删除Personclass.java 中的一个,或者通过在运行前选择类来显式执行另一个。
  • 添加适当的缩进
  • Person 类在哪里?我看到一个Personclass 类和一个PersonTester 类。
  • 您应该首先遵循 Java 代码约定。您有一个与类名同名的静态字段。
  • 我推荐你阅读java命名约定java.about.com/od/javasyntax/a/nameconventions.htm

标签: java tostring


【解决方案1】:

您需要将PersonTester 类中main() 中的对象设为Personclass。这应该使您能够通过该类中的 toString() 方法打印有关人员的信息。

【讨论】:

  • 如果这是问题所在,那么至少会有一些输出:人员对象或异常详细信息。
  • 大概,然后,这个人写了一个类Person。不过,我不相信他们需要它。
【解决方案2】:

有两种可能的解决方案。

  1. 您应该确保您正在运行 PersonTester 类,而不是 Personclass。即,如果您从命令行运行,则应该使用 java PersonTester 命令。

  2. 您的班级名称是Personclass,但在您的PersonTester 班级中,您指的是一些Person 班级。您应该将Personclass 更改为类似以下内容。

    包personclass;

        public class PersonTester{
    
          public static void main(String[] args) {
    
                Personclass person1 = new Personclass ("Joe","Smith",25,1.57,"Male");
                Personclass person2 = new Personclass ("Sain","Davies",18,1.73,"Female");
                Personclass person3 = new Personclass ("John","White",22,1.60,"Male");
                Personclass person4 = new Personclass ("Martin","Taylor",26, 1.54,"Male");
                Personclass person5 = new Personclass ("Jessica","Clarke",19,1.70,"Female");
    
                System.out.println(person1.toString());
                System.out.println(person2.toString());
                System.out.println(person3.toString());
                System.out.println(person4.toString());
                System.out.println(person5.toString());
            }
        }
    

【讨论】:

  • 你说的和另一个答案完全一样,所以我会再次评论:如果这是问题所在,那么至少会有一些输出:人对象或异常详情。
  • 谁知道 Person.toString 方法是怎么定义的。如果 Person 类中的 toString() 方法返回 "",则不会有输出 :)
猜你喜欢
  • 2023-04-08
  • 2020-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多