java - 如何在不将 null 作为输出的情况下打印 getter String?

标签 java class object methods getter-setter

每当我使用 showMessage() 时,我都会得到 null 值;我相信这是因为 我在方法结束时返回 c。有没有办法打印出 getName() 而不是在 main 方法中,就像 getName() 在 showMessage() 方法中一样。 . 这是我的候选类(class)

public class Candidate {

private String name;
private int votes;

//default constructor
public Candidate() {

String name = "Not Available! ";
int votes = 0; 
}

//overloaded constructor
public Candidate(String _name, int _votes){
  name  = _name;
  votes = _votes;

}

//getter
public String getName(){return name;}
public int getVotes(){return votes;}

//setter

public void incrementVote(){
  votes = votes + 1;

}

public void setName(String _name){
    name =_name;
}

public void print(){

    System.out.println("To vote for " + name);


}
}

这是我的主要内容

import java.util.*;

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

System.out.println("Welcome to the polls! ");

 Candidate c1 = new Candidate();
 Candidate c2 = new Candidate();
 Candidate c3 = new Candidate();
 Candidate c4 = new Candidate();


c1 = inputCandidate();
c2 = inputCandidate();
c3 = inputCandidate();
c4 = inputCandidate();



c1 = showMessage();

}

private static Candidate inputCandidate(){
    Scanner sc = new Scanner(System.in);
    String inputN;

    Candidate c = new Candidate();

    System.out.println("Enter candidate");

    inputN = sc.nextLine();
    c.setName(inputN);

   return c;
}

private static Candidate showMessage(){
    Candidate c = new Candidate();

    System.out.println(c.getName());

    return c;
}


}

最佳答案

只是替换

c1 = showMessage();

与,

showMessage(c1);

并修改方法showMessage如下

private static void showMessage(Candidate c ){    

    System.out.println(c.getName());
}

同样,您可以使用 showMessage 为剩余对象打印消息,例如

showMessage(c2);
showMessage(c3);
showMessage(c4);

关于java - 如何在不将 null 作为输出的情况下打印 getter String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52666963/

相关文章:

java - 在 Eclipse 插件中动态更改弹出窗口

objective-c - 如何在 Objective-C 中实例化一个不从 NSObject 继承的类

java - 如何从抽象类实例化子类对象中访问子类方法

php - PHP 5 的自动加载效率低下吗?

javascript - 我无法使用变量名访问对象函数?

java - 为什么在 HashMap 中找不到 key ?

java - Spring - "context:property-placeholder"- 属性优先级

Java 使用 spring 异步保存/更新数据到数据库中

php - 在 PHP 中访问对象内的数组值

Java - 对象中具有相同数据类型的多个字段