【问题标题】:How to print values in Java?如何在 Java 中打印值?
【发布时间】:2017-11-06 05:32:39
【问题描述】:

首先,不要被问题的大小吓到 kkkkk 我正在学习Java的OOP课程,老师在那里传递了一些没有时间编写代码的内容。那我有点怀疑了!我在java中有3个类。 SalaAula、Pessoa 和 Professor 类。

SalaAula.java

import java.util.Scanner;

public class SalaAula {
    private String nomeAluno;
    private int idadeAluno;
    private float pesoAluno;
    private float alturaAluno;
    private int matriculaAluno;

    SalaAula() {

        System.out.println("Seja bem vindo\n\n ");
        Scanner entrada = new Scanner(System.in);

        Professor professor = new Professor("Anderson", 32, 1.75f, 110f, 1010220, "Mestre");

        System.out.println("Qual seu nome? ");
        nomeAluno = entrada.next();
        System.out.println("Qual a sua idade? ");
        idadeAluno = entrada.nextInt();
        System.out.println("Qual o seu peso? ");
        pesoAluno = entrada.nextFloat();
        System.out.println("Qual a sua altura?");
        alturaAluno = entrada.nextFloat();
        System.out.println("Qual a sua matrícula?");
        matriculaAluno = entrada.nextInt();

        //Pessoa pessoa = new Pessoa(nome, idade, peso, altura, peso, matricula);
        System.out.println(new Professor());
        System.out.println("\n------------------------------------------");
        System.out.println("Nome:\tIdade:\tPeso:\tAltura:\tMatrícula:");
        System.out.println("------------------------------------------");
        System.out.println(nomeAluno + "\t" + idadeAluno + " anos\t" + alturaAluno + "\t" + pesoAluno + "\t" + matriculaAluno);
        System.out.println("------------------------------------------");

    }

    public static void main(String[] args) {
        SalaAula principal = new SalaAula();

    }
}

Pessoa.java

class Pessoa {
    private int idade;
    private String nome;
    private float altura;
    private float peso;
    private int matricula;

    Pessoa() {

    }

    Pessoa(String nome, int idade, float altura, float peso, int matricula) {
        this.idade = idade;
        this.nome = nome;
        this.altura = altura;
        this.peso = peso;
        this.matricula = matricula;
    }

    public String getNome() {
        return this.nome;
    }

    public void setAltura(float altura) {
        this.altura = altura;
    }

    public void setPeso(float peso) {
        this.peso = peso;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getIdade() {
        return this.idade;
    }

    public float getAltura() {
        return this.altura;
    }

    public float getPeso() {
        return this.peso;
    }
    public void setMatricula(int matricula) {
        this.matricula = matricula;
    }
    public int getMatricula() {
        return this.matricula;
    }
}

教授.java

public class Professor extends Pessoa {
    String nivelSuperior;
    Professor() {

    }
    Professor(String nome, int idade, float altura, float peso, int matricula, String nivel) {

        setNome(nome);
        setIdade(idade);
        setAltura(altura);
        setPeso(peso);
        setMatricula(matricula);

        this.nivelSuperior = nivel;
    }
    public String getNivel() {
        return this.nivelSuperior;
    }
    public void setNivel(String nivel) {
        this.nivelSuperior = nivel;
    }
}

就是这样!就是返回老师的信息:

教授教授=新教授(“安德森”,32,1.75f,110f,1010220,“梅斯特”);

还有学生信息,在这种情况下将由用户输入。

我的问题是:如何打印教师信息+学生信息?

【问题讨论】:

  • “打印教师信息”是什么意思?你期望什么输出?您试图在代码的哪一部分打印信息?你现在的输出是多少?我看不到你在哪里打印信息
  • “学生信息”是什么意思?你没有学生班。你试过在你的类中实现 toString() 吗?
  • Denux,我希望你退出的是:Professor professor = new professor ("Anderson", 32, 1.75f, 110f, 1010220, "Mestre"); 并在下面作为用户提供的信息。
  • Stultuske,用户放置的信息。
  • 您通过调用println() 打印信息,并且由于您的代码已经包含println() 语句,您似乎已经知道它,所以不清楚你的问题是。很简单,你写多个这样的语句:System.out.println("Professor Name: " + professor.getNome());

标签: java println


【解决方案1】:

我建议为每个 pojo 实现 toString() 方法,然后简单地使用 System.out.println(yourObject)

例如,对于 Pessoa 类,您可以编写如下内容:

@Override
public String toString()
{
  return String.format("Pessoa [idade=%s, nome=%s, altura=%s, peso=%s, matricula=%s]", idade, nome, altura, peso, matricula);
}

【讨论】:

  • 没关系,成功了,我只需要配置成我的标准,不过还是非常感谢。我什至记得老师在代码中放了@override。谢谢。
  • Freedev,问我一个问题。如果没有您输入的格式,我该如何返回?快要变成这个样子了。 prntscr.com/fg4hpl
猜你喜欢
  • 2017-01-26
  • 2015-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多