Arrays de Objetos em Java8

Olá! Quero criar 6 objetos de uma classe que criei. Criei a classe Lutador e quero criar 6 objetos( lutadores) através de um array com 6 posições. e ir preenchendo os atributos q criei como: nome, idade, peso, nacionalidade e outros…
String[] l = new String[5]; criei o array, mas não to conseguindo fazer com que cada posição seja um objeto da classe .

Porque você definiu o tipo do array como String, e o tipo tem que ser dessa classe que você criou…

2 curtidas

Bom conforme o @Matheusssbraga falou o tipo de dados está errado, vc criou um array de String você deve fazer isso:
ex simples:

Lutador[] lutadores = new Lutadores[5];
/*Nunca esquecer de instanciar o objeto propriamente dito*/
lutadores[0] = new Lutadores();
lutadores[0].getNome();

ex mais avançado:

List<Lutadores> lutadores = new ArrayList<>();
/*Instancio e já adiciono um lutador ao array criado*/
lutadores.add(new Lutadores());
lutadores.get(0).getNome();
1 curtida

Fiz: public void apresentar(){
System.out.println("----------Apresentação-----------");
System.out.println("Lutador: " + this.getNome());
System.out.println("Origem: " + this.getNacionalidade());
System.out.println(this.getIdade() + “anos”);
System.out.println(this.getAltura() + “m de altura”);
System.out.println("Pesando: " + this.getPeso() + “kg”);
System.out.println("Vitórias: " + this.getVitorias());
System.out.println("Derrotas: " + this.getDerrotas());
System.out.println("Empates: " + this.getEmpates());
}
Na classe Main fiz: Lutador l[] = new Lutador[6];

    l[0] = new Lutador("Jacaré","Brasil",31,1.75,68.9,14,2,3);
    l[0].apresentar();

Error: run:
Exception in thread “main” java.lang.RuntimeException: Uncompilable source code - constructor Lutador in class aula07.Lutador cannot be applied to given types;
required: no arguments
found: java.lang.String,java.lang.String,int,double,double,int,int,int
reason: actual and formal argument lists differ in length
at aula07.Aula07.main(Aula07.java:8)
C:\Users\Professor\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 11 segundos)

Bom parece um exercício do prof guanabara kkk bom tem algum erro na sua classe Lutador referente ao construtor

Isso mesmo rsrs… tentei fazer por conta própria e deu nisso rsrs…

pois é mano, qualquer dúvida reveja a aula, o problema no caso ai não é o array, tente ler o error, joga no google tradutor kk e tente acha-lo por conta própria :slight_smile: boa sorte

Valew kara obrigado!!

De nada man

Fala ai naointeressa9153

Teria como vc postar a classe Lutador? pelo o que parece o construtor que vc tem, esta com menos ou mais atributos que vc passou ou é problemas de tipos. Exemplo vc definiu como int mas esta passando como double nessa linha:

l[0] = new Lutador("Jacaré","Brasil",31,1.75,68.9,14,2,3);

Abraços
Max

Posso sim,

package aula07;

public class Lutador {
private String nome;
private String nacionalidade;
private int idade;
private double altura;
private double peso;
private String categoria;
private int vitorias;
private int derrotas;
private int empates;

public void Lutador(java.lang.String no,java.lang.String na,int id,double al,double pe,int vi,
        int de, int em){
    this.nome = no;
    this.nacionalidade = na;
    this.idade = id;
    this.altura = al;
    this.setPeso(pe);
    this.vitorias = vi;
    this.derrotas = de;
    this.empates = em;
}

public String getNome(){
    return nome;
}

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

public String getNacionalidade(){
    return nacionalidade;
}

public void setNacionalidade(String na){
    this.nacionalidade = na;
}

public int getIdade(){
    return idade;
}

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

public double getAltura(){
    return altura;
}

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

public double getPeso(){
    return peso;
}

public void setPeso(double pe){
    this.peso = pe;
    this.setCategoria();
}

public int getVitorias(){
    return vitorias;
}

public void setVitorias(int vi){
    this.vitorias = vi;
}

public int getDerrotas(){
    return derrotas;
}

public void setDerrotas(int de){
    this.derrotas = de;
}

public int getEmpates(){
    return empates;
}

public void setEmpates(int em){
    this.empates= em;
}

public String getCategoria(){
    return categoria;
}
public void setCategoria(){
    if(this.peso<52.2){
        this.categoria = "Inválido";
    }else if(this.peso<=70.3){
        this.categoria = "Leve";
    }else if(this.peso<=83.9){
        this.categoria = "Médio";
    }else if(this.peso>=120.2){
        this.categoria = "Pesado";
    }else{
        this.categoria = "Inválido";
    }
}

public void ganharLuta(){
    this.setVitorias(getVitorias()+1);
}

public void perderLuta(){
    this.setDerrotas(getDerrotas()+1);
}

public void empatarLuta(){
    this.setEmpates(getEmpates()+1);
}

public void apresentar(){
    System.out.println("----------Apresentação-----------");
    System.out.println("Lutador: " + this.getNome());
    System.out.println("Origem: " + this.getNacionalidade());
    System.out.println(this.getIdade() + "anos");
    System.out.println(this.getAltura() + "m de altura");
    System.out.println("Pesando: " + this.getPeso() + "kg");
    System.out.println("Vitórias: " + this.getVitorias());
    System.out.println("Derrotas: " + this.getDerrotas());
    System.out.println("Empates: " + this.getEmpates());
}

public void status(){
    System.out.println("-------Status--------");
    System.out.println("Nome: " + this.getNome());
    System.out.println("É um peso: " + this.getCategoria());
    System.out.println("Vitórias: " + this.getVitorias());
    System.out.println("Derrotas: " + this.getDerrotas());
    System.out.println("Empates: " + this.getEmpates());
}

}

ah mano, to vendo ai: [quote=“naointeressa9153, post:11, topic:347226”]
public void Lutador
[/quote]

no construtor a gente não coloca void ou qualquer tipo de retorno, somente assim:

public Lutador(){}

Aqui vai a classe pronta, vc edita para ficar da sua forma:

public class Lutador {

    private String nome;
    private String nacionalidade;
    private int idade;
    private double altura;
    private double peso;
    private String categoria;
    private int vitorias;
    private int derrotas;
    private int empates;

    public Lutador(String nome, String nacionalidade, int idade, double altura, double peso, int vitorias, int derrotas, int empates) {
        this.nome = nome;
        this.nacionalidade = nacionalidade;
        this.idade = idade;
        this.altura = altura;
        this.peso = peso;
        this.vitorias = vitorias;
        this.derrotas = derrotas;
        this.empates = empates;
    }

    public String getNome() {
        return nome;
    }

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

    public String getNacionalidade() {
        return nacionalidade;
    }

    public void setNacionalidade(String nacionalidade) {
        this.nacionalidade = nacionalidade;
    }

    public int getIdade() {
        return idade;
    }

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

    public double getAltura() {
        return altura;
    }

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

    public double getPeso() {
        return peso;
    }

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

    public String getCategoria() {
        return categoria;
    }

    public void setCategoria(String categoria) {
        this.categoria = categoria;
    }

    public int getVitorias() {
        return vitorias;
    }

    public void setVitorias(int vitorias) {
        this.vitorias = vitorias;
    }

    public int getDerrotas() {
        return derrotas;
    }

    public void setDerrotas(int derrotas) {
        this.derrotas = derrotas;
    }

    public int getEmpates() {
        return empates;
    }

    public void setEmpates(int empates) {
        this.empates = empates;
    }
    
    
}

Jeanderson_Silva foi isso mesmo, já resolvi aqui. Valew!!