Como corrigir o erro desse codigo?

4 respostas
D
import javax.swing.JOptionPane;

class Habitante{

String nome, cor, cor_cab, nacionalidade, naturalidade, c_identidade, sexo;

private int idade, filhos, cpf;

private float salario, altura, peso, endereço, telefone;

private public Habitante(String n,int i,float s){

nome = n;

idade = (i>0)&&(i<150)? i:1;

salario = s;

}

public void exibe(){

System.out.println(nome+ ?tem ?+idade+? anos e salario de ? +  salario);		

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

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

public void setSalario ( float s ) { this.salario = s; }

public String getNome (  ) { return nome; }

public int getIdade ( ) { return idade; }

public float getSalario ( ) { return salario; }
public Habitante(String cr,String cc, String nac, String nat, String ci, String sx){
	cor=cr;
	cor_cab=cc;
	nacionalidade=nac;
	naturalidade=nat;
	c_identidade=ci;
	sexo=sx;
}
public Habitante(int f, int c){
	filhos=f;
	cpf=c;
}

public Habitante(float al, float pe, float end, float tel){
	altura=al;
	peso=pe;
	endereço=end;
	telefone=tel;
}

}

class listaHabitantes{

public Habitante h;

listaHabitantes prox;

public listaHabitantes(){

prox = null;

}

}
class Cidade {

String nome, regiao, estado, pais, prefeito;

int num_habitantes;

public Cidade(String re, String es, String pa, String pr){

regiao=re;

estado=es;

pais=pa;

prefeito=pr;

}

public Cidade(int nb){

num_habitantes=nb;

}

listaHabitantes habitantes;

void insereHabitante(Habitante h){

listaHabitantes aux;

aux = habitantes;

if (aux != null){

while(aux.prox != null)

aux = aux.prox;

aux.prox = new listaHabitantes();

aux.prox.h = h;

}else{

habitantes = new listaHabitantes();

habitantes.h = h;

}

}

public Cidade(String n){

nome = n;

}

float mediaSalario(){

float media = 0;

int cont = 0;

listaHabitantes aux;

aux = habitantes;

while(aux != null){

cont++;

media += aux.h.getSalario;

aux = aux.prox;

}

if(cont > 0)

media /= cont;

return media;

}

float maiorSalario(){

float maiorSalario = 0;

listaHabitantes aux;

aux = habitantes;

while(aux != null){

if(maiorSalario < aux.h.getSalario)

maiorSalario = aux.h.getSalario;

aux = aux.prox;

}

return maiorSalario;

}

}

public class Exercicio{

public static void main(String[] args){

Cidade c = null;

Habitante h;

String opcao = 1;

while(opcao != S){

opcao = JOptionPane.showInputDialog(Escolha uma opção

+"\n================="

+"\n1 - Cadastrar Cidade"

+"\n2 - Cadastrar Habitante"

+"\n3 - Média Salários Cidade"

+"\n4 - Maior Salário da Cidade"

+"\n5 - Sair");

switch(opcao.charAt(0)){

case 1 :

c = new Cidade(JOptionPane.showInputDialog(Entre com o nome da cidade));

break;
case '2' :
				h = new Habitante(JOptionPane.showInputDialog("Entre com o nome do Habitante"+h.	setNome())
								,Integer.parseInt(JOptionPane.showInputDialog("Entre com a idade do Habitante"+h.setIdade()))
								,Float.parseFloat(JOptionPane.showInputDialog("Entre com o salario do Habitante"+h.setSalario())));
				c.insereHabitante(h);
				break;
				
			case '3' : System.out.println("Media Salario:"+c.mediaSalario());
				break;
				
			case '4' : System.out.println("Maior Salario:"+c.maiorSalario());
				break;
			
			case '5' : System.out.println("Fim do Programa!!!");
				break;
			
			default: System.out.println(" Opção Inválida! Escolha Uma Opção de 1 a 5 ");
		         
		}
		 
	}
}

}

4 Respostas

renzonuccitelli
Se vc disser o erro que está acontecendo facilita muito as coisas. Além disso, use as tags code na hora de colocar seu código:
import javax.swing.JOptionPane;
class Habitante{
String nome, cor, cor_cab, nacionalidade, naturalidade, c_identidade, sexo;
private int idade, filhos, cpf;
private float salario, altura, peso, endereço, telefone;
private public Habitante(String n,int i,float s){
nome = n;
idade = (i>0)&&(i<150)? i:1;
salario = s;
}
public void exibe(){
System.out.println(nome+ ?tem ?+idade+? anos e salario de ? + salario);
}

public void setNome ( String n ) { this.nome = n; }
public void setIdade( int i ) { this.idade = i; }
public void setSalario ( float s ) { this.salario = s; }
public String getNome ( ) { return nome; }
public int getIdade ( ) { return idade; }
public float getSalario ( ) { return salario; }



public Habitante(String cr,String cc, String nac, String nat, String ci, String sx){
cor=cr;
cor_cab=cc;
nacionalidade=nac;
naturalidade=nat;
c_identidade=ci;
sexo=sx;
}
public Habitante(int f, int c){
filhos=f;
cpf=c;
}

public Habitante(float al, float pe, float end, float tel){
altura=al;
peso=pe;
endereço=end;
telefone=tel;
}
}

class listaHabitantes{
public Habitante h;
listaHabitantes prox;
public listaHabitantes(){
prox = null;
}
}

class Cidade {
String nome, regiao, estado, pais, prefeito;
int num_habitantes;
public Cidade(String re, String es, String pa, String pr){
regiao=re;
estado=es;
pais=pa;
prefeito=pr;
}
public Cidade(int nb){
num_habitantes=nb;
}
listaHabitantes habitantes;
void insereHabitante(Habitante h){
listaHabitantes aux;
aux = habitantes;
if (aux != null){
while(aux.prox != null)
aux = aux.prox;
aux.prox = new listaHabitantes();
aux.prox.h = h;
}else{
habitantes = new listaHabitantes();
habitantes.h = h;
}
}
public Cidade(String n){
nome = n;
}
float mediaSalario(){
float media = 0;
int cont = 0;
listaHabitantes aux;
aux = habitantes;
while(aux != null){
cont++;
media += aux.h.getSalario;
aux = aux.prox;
}
if(cont > 0)
media /= cont;
return media;
}
float maiorSalario(){
float maiorSalario = 0;
listaHabitantes aux;
aux = habitantes;
while(aux != null){
if(maiorSalario < aux.h.getSalario)
maiorSalario = aux.h.getSalario;
aux = aux.prox;
}
return maiorSalario;
}
}
public class Exercicio{
public static void main(String[] args){
Cidade c = null;
Habitante h;
String opcao = "1";
while(opcao != "S"){
opcao = JOptionPane.showInputDialog("Escolha uma opção"
+"\n================="
+"\n1 - Cadastrar Cidade"
+"\n2 - Cadastrar Habitante"
+"\n3 - Média Salários Cidade"
+"\n4 - Maior Salário da Cidade"
+"\n5 - Sair");
switch(opcao.charAt(0)){
case '1' :
c = new Cidade(JOptionPane.showInputDialog("Entre com o nome da cidade"));
break;

case '2' :
h = new Habitante(JOptionPane.showInputDialog("Entre com o nome do Habitante"+h. setNome())
,Integer.parseInt(JOptionPane.showInputDialog("Entre com a idade do Habitante"+h.setIdade()))
,Float.parseFloat(JOptionPane.showInputDialog("Entre com o salario do Habitante"+h.setSalario())));
c.insereHabitante(h);
break;

case '3' : System.out.println("Media Salario:"+c.mediaSalario());
break;

case '4' : System.out.println("Maior Salario:"+c.maiorSalario());
break;

case '5' : System.out.println("Fim do Programa!!!");
break;

default: System.out.println(" Opção Inválida! Escolha Uma Opção de 1 a 5 ");

}

}
}
}
ViniGodoy

Sempre que perguntar de um erro diga:

  1. Qual era o comportamento esperado;
  2. O que não está funcionando;
  3. Caso haja exceção, diga qual é e indique no código (com comentários) a linha que ela indica;

Só postar o código, assim, é sacanagem. Sempre use as tags code. Se não conhece o recurso, leia aqui:
http://www.guj.com.br/posts/list/50115.java

D

galera usei esse codigo para implementar um programa que recebe e habitante e calcula média de salario e maior salario, porem qndo tentei implementar à classe habitante as funções get e set, começou a dar vaarios erros, vou enviar o programa da forma que ta funcionando sem get e set:

to enviando como txt, pois agora to sem meu compilador java

import javax.swing.JOptionPane;

class Habitante{

String nome, cor, cor_cab, nacionalidade, naturalidade, c_identidade;

int idade, filhos, cpf;

float salario, altura, peso, endereço;

public Habitante(String n,int i,float s){

nome = n;

idade = (i>0)&&(i<150)? i:1;

salario = s;

}

public Habitante(String cr,String cc, String nac, String nat, String ci){

cor=cr;

cor_cab=cc;

nacionalidade=nac;

naturalidade=nat;

c_identidade=ci;

}

public Habitante(int f, int c){

filhos=f;

cpf=c;

}
public Habitante(float al, float pe, float end){
	altura=al;
	peso=pe;
	endereço=end;
}

}

class listaHabitantes{

public Habitante h;

listaHabitantes prox;

public listaHabitantes(){

prox = null;

}

}
class Cidade {

String nome, regiao, estado, pais, prefeito;

int num_habitantes;

public Cidade(String re, String es, String pa, String pr){

regiao=re;

estado=es;

pais=pa;

prefeito=pr;

}

public Cidade(int nb){

num_habitantes=nb;

}

listaHabitantes habitantes;

void insereHabitante(Habitante h){

listaHabitantes aux;

aux = habitantes;

if (aux != null){

while(aux.prox != null)

aux = aux.prox;

aux.prox = new listaHabitantes();

aux.prox.h = h;

}else{

habitantes = new listaHabitantes();

habitantes.h = h;

}

}

public Cidade(String n){

nome = n;

}

float mediaSalario(){

float media = 0;

int cont = 0;

listaHabitantes aux;

aux = habitantes;

while(aux != null){

cont++;

media += aux.h.salario;

aux = aux.prox;

}

if(cont > 0)

media /= cont;

return media;

}

float maiorSalario(){

float maiorSalario = 0;

listaHabitantes aux;

aux = habitantes;

while(aux != null){

if(maiorSalario < aux.h.salario)

maiorSalario = aux.h.salario;

aux = aux.prox;

}

return maiorSalario;

}

}

public class Exercicio{

public static void main(String[] args){

Cidade c = null;

Habitante h;

String opcao = 1;

while(opcao != S){

opcao = JOptionPane.showInputDialog(Escolha uma opção

+"\n================="

+"\n1 - Cadastrar Cidade"

+"\n2 - Cadastrar Habitante"

+"\n3 - Média Salários Cidade"

+"\n4 - Maior Salário da Cidade"

+"\n5 - Sair");

switch(opcao.charAt(0)){

case 1 :

c = new Cidade(JOptionPane.showInputDialog(Entre com o nome da cidade));

break;
case '2' :
				h = new Habitante(JOptionPane.showInputDialog("Entre com o nome do Habitante")
								,Integer.parseInt(JOptionPane.showInputDialog("Entre com a idade do Habitante"))
								,Float.parseFloat(JOptionPane.showInputDialog("Entre com o salario do Habitante")));
				c.insereHabitante(h);
				break;
				
			case '3' : System.out.println("Media Salario:"+c.mediaSalario());
				break;
				
			case '4' : System.out.println("Maior Salario:"+c.maiorSalario());
				break;
			
			case '5' : System.out.println("Fim do Programa!!!");
				break;
			
			default: System.out.println(" Opção Inválida! Escolha Uma Opção de 1 a 5 ");
		         
		}
		 
	}
}

}

claudneto

http://www.guj.com.br/posts/list/50115.java

Use as tagas corretas quando for postar um código!

http://www.guj.com.br/posts/list/50115.java

Criado 23 de setembro de 2008
Ultima resposta 23 de set. de 2008
Respostas 4
Participantes 4