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…
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();
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
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!!