Programaçao java

29 respostas
S

Pessoal estou tentando fazer um programa que foi pedido na faculdade e nao estou conseguindo esta com muitos erros vou por o codigo me ajudem por favor

CLASSE ALUNO:

public class aluno{
	string nome;
	int matricula;
	double a1;
	double p1;
	double a2;
	double p2;
	int f1;
	int f2;
}

aluno(string n, int mat, double atv1, double prov1, double atv2, double prov2, int falta1, int falta2){
	this.nome = n;
	this.matricula = mat;
	this.a1 = atv1;
	this.p1 = prov1;
	this.a2 = atv2;
	this.p2 = prov2;
	this.f1 = falta1;
	this.f2 = falta2;
}

int falta(){
	int falt = this.f1 + this.f2;
	return falt;
}

double media1(){
	double m1 = (this.a1 * 4 + this.p1 * 6) / 10;
	return m1;
}

double media2(){
	double m2 = (this.a2 * 4 + this.p2 * 6) / 10;
	return m2;
}

double mediafinal(){
	double mf = this.m1 + this.m2;
	return mf;
}

string situaçao(){
	if(falta > 34){
		string sit = "resprovado por falta";
	}else{
		if(this.mf >= 7){
			this.sit = "aprovado";
		}else{
			if(this.mf < 3){
				this.sit = "reprovado";
			}
		}
	}
}

TESTA ALUNO:

class testaaluno{
	public static void main (String args{}){
		aluno aluno1 = new aluno(JUNIOR, 123456, 10, 10, 10, 5, 6);
		System.out.println("O nome do aluno é " + aluno1.nome);
		System.out.println("A matricula é " + aluno1.matricula);
		System.out.println("A media 1 é " + aluno1.media1);
		System.out.println("A media 2 é " + aluno1.media2);
		System.out.println("A media final é igual a " + aluno1.mediadinal);
		System.out.println("O aluno " + aluno1.situaçao);
	}
}

DESDE JA OBRIGADO

29 Respostas

Marky.Vasconcelos

“aluno1.media1”

Significa que voce vai tentar acessar o atributo media1 do objeto aluno1.

Entretanto, media1 é um método, e voce precisa invocalo.

O correto seria:

System.out.println("A media 1 é " + aluno1.media1());

ctdaa

O que é isso? jogo dos sete erros? tem algumas chaves { } fora de lugar.
Que IDE você está usando? veja os erros e vá corrigindo linha a linha…

wbdsjunior

a classe String (java.lang.String) deve ser escrita em maiúscula.

String nome;

ao passar uma String por parâmetro, você deve colocar o texto entre aspas.

aluno aluno1 = new aluno("JUNIOR", 123456, 10, 10, 10, 5, 6);

esta faltando a nota da prova dois.

aluno aluno1 = new aluno("JUNIOR", 123456, 10, 10, 10, 0, 5, 6);

ao invocar um método, você deve colcar os parênteses, passando os parâmetros, mesmo que eles não exitam.

System.out.println("A media 1 é " + aluno1.media1());

O nome do método está errado.

System.out.println("A media final é igual a " + aluno1.mediadfinal()); // mediafinal invez de mediainal

faças as correções e se houver mais erros, coloque a mensagem para que possamos ajudá-lo.

Queops82

Boa Tarde.

Bom vamos lá, de olha eu vi um problema na sua declaração da classe aluno já que no construtor da mesma você coloca 5 valores e na hora que você estancia o objeto só põe 5;

aluno aluno1 = new aluno("JUNIOR", 123456, 10, 10, 10, 5, 6);// aqui tem 7 elementos 

aluno(String n, int mat, double atv1, double prov1, double atv2, double prov2, int falta1, int falta2){  // aqui tem 8 elementos, por tanto você tem que por algo pra deixar com o mesmo numero de elementos ambos lados
    this.nome = n;  
    this.matricula = mat;  
    this.a1 = atv1;  
    this.p1 = prov1;  
    this.a2 = atv2;  
    this.p2 = prov2;  
    this.f1 = falta1;  
    this.f2 = falta2;  
}
S

obrigado a todos ae por enquanto realmente estou muito desatento estou fazendo aqui as alteraçoes e daqui a pouco posto o resultado

wbdsjunior

qual a situação do aluno se a média dele for de 3 a 6.9?

Tiburcio_Mancha

Tenho notado que muitos iniciantes entram no GUJ para jogarem seus trabalhos de faculdade no fórum!

Na minha opinião este tipo de ajuda não é válida, ele deveria entender os erros e tentar resolve-los, não a galera aqui entregar tudo mastigado!

S

Na verdade eu nao preciso entregar este programao professor deu para quem quiser resolver eu quero e estou pedindo ajuda para aprender, se vc nao quer ajudar tudo bem

S

É exame esqueci de por

S
Bom ja arrumei varias coisas valeu mesmo mas tem algo errado que nao consigo entender porque
public double mediafinal(){
	[u]double mf = this.m1 + this.m2;[/u]
	return mf;
}

public String situaçao(){
	if([u]falta[/u] > 34){
		String sit = "resprovado por falta";
	}else{
		if(this.[u]mf[/u]>= 7){
			String sit = "aprovado";
		}else{
			if(this.[u]mf[/u] < 3){
				String sit = "reprovado";
			}
		}
	}

Eu sublinhei onde esta errado alguem sabe o erro?obrigado

Tiburcio_Mancha

Não importa se é para entregar para nota ou não, se você está disposto a aprender deveria tentar interpretar os erros e depois tentar resolve-los, pegando mastigado não vai aprender nada.

S
samfontini:
Bom ja arrumei varias coisas valeu mesmo mas tem algo errado que nao consigo entender porque
public double mediafinal(){
	[u]double mf = this.m1 + this.m2;[/u]
	return mf;
}

public String situaçao(){
	if([u]falta[/u] > 34){
		String sit = "resprovado por falta";
	}else{
		if(this.[u]mf[/u]>= 7){
			String sit = "aprovado";
		}else{
			if(this.[u]mf[/u] < 3){
				String sit = "reprovado";
			}
		}
	}

Eu sublinhei onde esta errado alguem sabe o erro?obrigado

na verdade nao sublinhou né mas esta entre (u)(/u)
os erros estao em

double mf = this.m1 + this.m2;

falta

e

onde tem mf

S

Não importa se é para entregar para nota ou não, se você está disposto a aprender deveria tentar interpretar os erros e depois tentar resolve-los, pegando mastigado não vai aprender nada.

se eu recorri ao forum é pq eu nao estava conseguindo e se eu to perguntando é pq eu quero aprender ¬¬

Queops82

na realidade você não criou as variareis (falta, mf)
tem que criar elas como variáveis “globais” para poder usar elas em qualquer parte da classe, e você esta criando elas como variáveis locais.

raposo.leandro

Tomei a liberdade e alterei seu codigo, se puder de uma olhada nas diferenças ...

public class Aluno {
	
    private String nome;
    private int matricula;  
    private double a1;  
    private double p1;  
    private double a2;  
    private double p2;  
    private int f1;  
    private int f2;  
  
	public Aluno(String n, int mat, double atv1, double prov1, double atv2, double prov2, int falta1, int falta2) {
		this.nome = n;
    	this.matricula = mat;  
	    this.a1 = atv1;  
	    this.p1 = prov1;  
	    this.a2 = atv2;  
	    this.p2 = prov2;  
	    this.f1 = falta1;  
	    this.f2 = falta2;  
	}  
  
	public int falta(){  
	    int falt = this.f1 + this.f2;  
	    return falt;
	}  
	  
	public double media1(){  
	    double m1 = (this.a1 * 4 + this.p1 * 6) / 10;  
	    return m1;  
	}  
	  
	public double media2(){  
	    double m2 = (this.a2 * 4 + this.p2 * 6) / 10;  
	    return m2;  
	}  
	  
	public double mediafinal(){
	    double mf = media1() + media2();
	    return mf;  
	}  
	  
	public String situacao(){
		String sit;
		
		if (mediafinal() >= 7 && falta() < 34) {
			
			sit = "aprovado";
		} else {
			
			sit = "reprovado";		
		}
		return sit;
	}
	
	public void imprime() {
		
		System.out.println("O nome do aluno é " + this.nome);  
        System.out.println("A matricula é " + this.matricula);  
        System.out.println("A media 1 é " + this.media1());
        System.out.println("A media 2 é " + this.media2());  
        System.out.println("A media final é igual a " + this.mediafinal());  
        System.out.println("O aluno foi " + this.situacao());
	}
}
class TestaAluno {
	
    public static void main (String [] args) {
	    	    
        Aluno aluno1 = new Aluno("Junior", 99999, 10, 10, 10, 5, 6, 0);        
        aluno1.imprime();
    }  
}
N
class testaAluno {
	public static void main (String args[]){
		Aluno aluno1 = new Aluno("JUNIOR", 123456, 10.0, 10.0, 10.0, 10.0, 5, 6);
		
		System.out.println("O nome do aluno é " + aluno1.nome);
		System.out.println("A matricula é " + aluno1.matricula);
		System.out.println("A media 1 é " + aluno1.media1());
		System.out.println("A media 2 é " + aluno1.media2());
		System.out.println("A media final é igual a " + aluno1.mediafinal());
		System.out.println("O aluno " + aluno1.situacao());
	}
}
public class Aluno{
	String nome;
	int matricula;
	double a1;
	double p1;
	double a2;
	double p2;
	int f1;
	int f2;

	Aluno(String n, int mat, double atv1, double prov1, double atv2, double prov2, int falta1, int falta2){
		nome = n;
		matricula = mat;
		a1 = atv1;
		p1 = prov1;
		a2 = atv2;
		p2 = prov2;
		f1 = falta1;
		f2 = falta2;
	}
	
	int falta(){
		int falt = f1 + f2;
		return falt;
	}
	
	double media1(){
		double m1 = (a1 * 4 + p1 * 6) / 10;
		return m1;
	}
	
	double media2(){
		double m2 = (a2 * 4 + p2 * 6) / 10;
		return m2;
	}
	
	double mediafinal(){
		double mf = media1() + media2();
		return mf;
	}
	
	String situacao(){
		if(falta() > 34){
			return "resprovado por falta";
		}else{
			if(mediafinal() < 3){
				return "reprovado";
			} else {
				return "aprovado";
			}
		}
	}
}

Sugiro que você leia algum tutorial para iniciantes.

adriano_si

tenho reocmendado: http://www.contraditorium.com/2006/02/15/como-fazer-perguntas-inteligentes/

Não é que não queiras aprender cara… é a forma como quer aprender…

Abs []

Marky.Vasconcelos

adriano_si:
tenho reocmendado: http://www.contraditorium.com/2006/02/15/como-fazer-perguntas-inteligentes/

Não é que não queiras aprender cara… é a forma como quer aprender…

Abs []

Nossa, agora que descobri que o link da minha assinatura não funciona mais.

Vou utilizar esse.

Tiburcio_Mancha

adriano_si:
tenho reocmendado: http://www.contraditorium.com/2006/02/15/como-fazer-perguntas-inteligentes/

Não é que não queiras aprender cara… é a forma como quer aprender…

Abs []

Então, por exemplo, ele cometou erros ao declarar e utilizar uma String, ae todo mundo entrega mastigado as correções. Daqui a pouco tem outro tópico desse cara, com outro código , com os mesmos erros pq ele não não aprendeu nada. É muito importante saber o funcionamento de uma String, é o mínimo que se espera de um programador Java. Em vez de entregar tudo na mão, eu recomendaria ele a estudar Strings e depois em seu código, realizar as correções, pq já vai ter um entendimento do que está acontecendo.Vai saber onde errou e a partir dae não vai errar mais.

Tenho tido contato com diversos profissionais no mercado que não sabem o simples e não tem a capacidade de fazer uma simples pesquisa no google. Esses dias respondi um cara aqui no GUJ que queria uma indicação de um livro de Patterns em Português porque ele não sabia inglês, que tinha tempo para aprender mas não ia aprender pela preguiça.

http://guj.com.br/posts/list/225735.java#1156553

É incrível, mas acho que uma boa parcela de culpa são dessas faculdades, que soltam uma porrada de cara no mercado sem condição nenhuma de ser um programador!

N

Tiburcio_Mancha:
adriano_si:
tenho reocmendado: http://www.contraditorium.com/2006/02/15/como-fazer-perguntas-inteligentes/

Não é que não queiras aprender cara… é a forma como quer aprender…

Abs []

Então, por exemplo, ele cometou erros ao declarar e utilizar uma String, ae todo mundo entrega mastigado as correções. Daqui a pouco tem outro tópico desse cara, com outro código , com os mesmos erros pq ele não não aprendeu nada. É muito importante saber o funcionamento de uma String, é o mínimo que se espera de um programador Java. Em vez de entregar tudo na mão, eu recomendaria ele a estudar Strings e depois em seu código, realizar as correções, pq já vai ter um entendimento do que está acontecendo.Vai saber onde errou e a partir dae não vai errar mais.

Tenho tido contato com diversos profissionais no mercado que não sabem o simples e não tem a capacidade de fazer uma simples pesquisa no google. Esses dias respondi um cara aqui no GUJ que queria uma indicação de um livro de Patterns em Português porque ele não sabia inglês, que tinha tempo para aprender mas não ia aprender pela preguiça.

http://guj.com.br/posts/list/225735.java#1156553

É incrível, mas acho que uma boa parcela de culpa são dessas faculdades, que soltam uma porrada de cara no mercado sem condição nenhuma de ser um programador!

Completamente de acordo com você.

Tiburcio_Mancha

Adriano, excelente o artigo que vc recomendou!!!

strong

Inglês é importante sim, mas não precisa saber fluentemente para trabalhar com TI, mas pelo menos o básico é bom saber, pois até mesmo alguns erros que algumas ferramentas para a areá de TI nos mostram são todos em inglês, ai fica complicado se vc nem souber onde e pq aconteceu o erro se não souber ler uma frase em inglês.

strong

esqueci, abaixo segue outro posto desta semana onde pelo que “parece” tem alguém querendo o código pronto.
http://www.guj.com.br/posts/list/226000.java

Tiburcio_Mancha

Pode ser, mas veja o link que passei, o cara escreveu que não sabia nada e não ia aprender por preguiça!!!

Tenho mais um link aqui ridículo!!!

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

Como disse no tópico que passei, está na hr de ser inciada uma discussão sobre o assunto!!!

S

Bom primeiramente obrigado ae a todos que ajudaram .

Sobre pegar as coisas mastigadas eu nao concordo se eu estivesse pedindo a ajuda de vcs para fazer um trabalho no qual eu teria que entregar iria parecer que eu realmente quero tudo mastigado, mas eu nem tenho mais aula na facul esse ano ja estou em prova e ja fiz a prova de java a uma semana, eu estou aqui realmente para APRENDER meu problema é com a linguagem java realmente onde estudo as aulas de java sao horriveis graças ao professor.

Por esta razão estou tirando minhas duvidas aqui.

S
O programa esta funcionando, ai esta como ficou o código:
public class aluno {
    public String nome;
	public int matricula;
	public double a1;
	public double p1;
	public double a2;
	public double p2;
	public int f1;
	public int f2;
        public int falta;
        public double mf;
        public double m1;
        public double m2;



public aluno(String n, int mat, double atv1, double prov1, double atv2, double prov2, int falta1, int falta2){
	this.nome = n;
	this.matricula = mat;
	this.a1 = atv1;
	this.p1 = prov1;
	this.a2 = atv2;
	this.p2 = prov2;
	this.f1 = falta1;
	this.f2 = falta2;
}



public int falta(){
	int falt = this.f1 + this.f2;
	return falt;
}

public double media1(){
	double m1 = (this.a1 * 4 + this.p1 * 6) / 10;
	return m1;
}

public double media2(){
	double m2 = (this.a2 * 4 + this.p2 * 6) / 10;
	return m2;
}

public double mediafinal(){
	double mf = (media1() + media2())/2;
	return mf;
}

public String situacao(){
        String sit;

        if (mediafinal() >= 7 && falta() < 34) {

            sit = "aprovado";
        } else {

            sit = "reprovado";
        }
        return sit;

}

}
public static void main(String[] args) {
        aluno aluno1 = new aluno("Junior", 123456, 10, 10, 10, 10, 5, 6);
		System.out.println("O nome do aluno é " + aluno1.nome);
		System.out.println("A matricula é " + aluno1.matricula);
		System.out.println("A media 1 é " + aluno1.media1());
		System.out.println("A media 2 é " + aluno1.media2());
		System.out.println("A media final é igual a " + aluno1.mediafinal());
                System.out.println("O numero total de faltas é " + aluno1.falta());
		System.out.println("O aluno " + aluno1.situacao());
    }
S

Se alguem tiver um exercicio parecido eu gostaria que postasse sem o código para eu tentar fazer :smiley:

wbdsjunior

uma dica:

há um convesão para escrita de programas em Java, como a nomenclatura de classes, atributos, métodos, endentação de código, etc. A Code Conventions for the Java™ Programming Language

boa leitura.

andre_teprom

Uma prática saudável na programação, é sempre editaar um programa em tempo de compilação

Editou... Compilou... Editou... Compilou... ...

Assim, voce saberá exatamente onde está cometendo o erro principal, do qual os outros erros de compilação podem decorrer.
Um efeito dessa prática, é entender detalhadamente o comportamento das variáveis do programa, e também aprender mais.

+++

Criado 30 de novembro de 2010
Ultima resposta 1 de dez. de 2010
Respostas 29
Participantes 11