msmsms Posted July 16, 2012 at 04:52 AM Report #468792 Posted July 16, 2012 at 04:52 AM estive a fazer o programa que deixo em baixo não estou a conseguir completar o programa porque não consigo fechar a função main sei que uma data de coisas geram erros alguem consegue identificar o problema e dizer-me como resolvo? public class estudante { public static void main(String[]args){ private String nome; private int []notas; //a declarar a tabela... private float media; //construtor public estudante() { System.out.print("nome do estudante:"); Scanner sc = new Scanner (System.in); nome=sc.nextLine(); System.out.print("numero de notas:"); int numNotas = sc.nextInt(); notas = new int [numNotas]; //a criar a tabela... for(int i=0; i<numNotas; i++) { System.out.print("nota:"+(i+1)); notas[i]=sc.nextInt(); } media=calculaMedia(); } /////////////////////////////////////////////////////// //escreve os dados de um estudante public void imprimeEstudante() { System.out.print("as notas de "+nome+"são:"); for (int i = 0; i<notas.length;i++){ System.out.print(notas[i]+""); } System.out.print("a media e:"+media); } /////////////////////////////////////////////////////// //faz o acesso externo a media public float getMedia(){ return media; } //////////////////calcular a media//////////////////// private float calculaMedia(){ float soma=0; if (notas.length>0){ for (int i=0; i<notas.length; i++){ soma += notas[i]; } return soma/notas.length; } else return -1; } /////////////////////////////////////////////////////// }
KTachyon Posted July 16, 2012 at 07:12 AM Report #468794 Posted July 16, 2012 at 07:12 AM Não percebo qual é a dúvida. Não estás a fechar a função main... tu próprio disseste. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
HappyHippyHippo Posted July 16, 2012 at 07:59 AM Report #468796 Posted July 16, 2012 at 07:59 AM não sabes onde se encontra a tecla "}" no teu teclado ???? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
joelbrito Posted July 16, 2012 at 02:12 PM Report #468864 Posted July 16, 2012 at 02:12 PM Mas tu estás a fechar a função main.... é a útima chaveta do teu código. Ainda te falta uma chaveta para fechar a classe estudante. Mesmo assim tens aí qualquer coisa que não bate certo.... Dá uma vista de olhos AQUI e tenta perceber o que fizeste errado... Engenharia de Sistemas Informáticos @ IPCA "Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs
HappyHippyHippo Posted July 16, 2012 at 02:35 PM Report #468869 Posted July 16, 2012 at 02:35 PM Mas tu estás a fechar a função main.... é a útima chaveta do teu código. Ainda te falta uma chaveta para fechar a classe estudante. @msmsms : não olhes para este comentário, só te vais confundir ainda mais, por ser um erro grave de interpretação de código se o problema é fechar o main, fecha-o, assim como fechaste as outras funções IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
msmsms Posted July 16, 2012 at 03:16 PM Author Report #468876 Posted July 16, 2012 at 03:16 PM (edited) ai ai o problema é que quando fecho a função main as coisas dão todas erros testaram o código? acontece que se eu não colocar a chaveta a fechar a main só tenho um erro "a chaveta'' que sei onde é no teclado como o cromo acima falou! quando coloco a chaveta após o construtor tenho mais de 20 erros... dentro e fora da função main... Edited July 16, 2012 at 03:18 PM by msmsms
HappyHippyHippo Posted July 16, 2012 at 03:35 PM Report #468883 Posted July 16, 2012 at 03:35 PM o problema é que quando fecho a função main as coisas dão todas erros ... acontece que se eu não colocar a chaveta a fechar a main só tenho um erro "a chaveta'' que sei onde é no teclado como o cromo acima falou! quando coloco a chaveta após o construtor tenho mais de 20 erros... dentro e fora da função main... isso é porque tens mais erros além da chaveta, se falta a chaveta é favor a por ... depois podes fazer um post com os erros porque: - quem está aqui a ajudar tem mais coisas a fazer - ler código é chato - apanhar bugs manhosos é ainda mais chato - fazer de cabeça é o mais chato de todos testaram o código? (eu,) claro que não ... para testar o código estás cá tu porque o código é teu IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
msmsms Posted July 16, 2012 at 04:53 PM Author Report #468895 Posted July 16, 2012 at 04:53 PM (edited) o meu problema é com a função main e o construtor! se existe-se aqui alguém realmente entendido nesta linguagem saberia logo dizer-me porquê que o seguinte pedaço de código dá erro: import java.util.*; public class poo { public static void main(String[]args){ int []tabela = new int [5]; public poo(){ } } } não sei porquê que dão respostas sabendo tanto ou menos do que eu já consegui saber... 1º - não sei se posso ou não colocar um construtor dentro de uma função main 2º - não percebo porquê que o construtor dá o erro ''error on token public'' assim que é criado dentro da funções main Edited July 16, 2012 at 04:56 PM by msmsms
KiNgPiTo Posted July 16, 2012 at 04:55 PM Report #468897 Posted July 16, 2012 at 04:55 PM (edited) O constructor é um método e o main é outro, mas tens o contructor dentro da main.. import java.util.*; public class poo { public static void main(String[]args){ int []tabela = new int [5]; } // Fecha a main public poo(){ media=calculaMedia(); } // Fecha o Constructor } // Fecha a class poo Edited July 16, 2012 at 04:56 PM by KiNgPiTo
msmsms Posted July 16, 2012 at 05:00 PM Author Report #468898 Posted July 16, 2012 at 05:00 PM O constructor é um método e o main é outro, mas tens o contructor dentro da main.. import java.util.*; public class poo { public static void main(String[]args){ int []tabela = new int [5]; } // Fecha a main public poo(){ media=calculaMedia(); } // Fecha o Constructor } // Fecha a class poo O constructor é um método e o main é outro, mas tens o contructor dentro da main.. import java.util.*; public class poo { public static void main(String[]args){ int []tabela = new int [5]; } // Fecha a main public poo(){ media=calculaMedia(); } // Fecha o Constructor } // Fecha a class poo obrigado, parecia ser esse o meu problema em não perceber que o construtor tem de estar exterior à função main vamos ver se agora os programas correm melhor...
HappyHippyHippo Posted July 16, 2012 at 05:29 PM Report #468900 Posted July 16, 2012 at 05:29 PM não sei porquê que dão respostas sabendo tanto ou menos do que eu já consegui saber... todos que te responderam sabiam a resposta que +e o disseram : coloca a chaveta !!! e até deram um link para saberes a sintaxe. agora, se não queres compreender, mas sim alguém que te faça tudo então terás de esperar por alguém que o faça para que te lembres do que te foi dito: se o problema é fechar o main, fecha-o, assim como fechaste as outras funções IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
joelbrito Posted July 16, 2012 at 05:41 PM Report #468901 Posted July 16, 2012 at 05:41 PM Uma boa forma de aprenderes é conseguires encontrar os teus erros e resolvê-los..... Daí que que todos te darem apenas dicas e não a resposta logo de mão beijada Eu mesmo te disse: Mesmo assim tens aí qualquer coisa que não bate certo.... Dá uma vista de olhos AQUI e tenta perceber o que fizeste errado... E dei-te o link para a estrutura de uma classe... Engenharia de Sistemas Informáticos @ IPCA "Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs
msmsms Posted July 16, 2012 at 06:03 PM Author Report #468905 Posted July 16, 2012 at 06:03 PM o tempo urge e encontrar um problema ás vezes não é tão rápido para teres uma ideia eu estou desde ontem desde cerca das 16 horas para conseguir completar este programa com sucesso apesar de eu já me ter convencido que que não estava a colocar a chaveta de fechar correctamente na função main ainda assim obtenho erros, um erro que parece que os atributos não são reconhecidos nem pela função main nem pelos métodos. e o site que me passaram não resolve o problema que aqui acontece. só me resta desistir e seguir para bingo.. import java.util.*; public class estudante { public static void main(String[]args){ private String nome; private int []notas; private float media; }//fecha a função main public estudante() { System.out.print("nome do estudante:"); Scanner sc = new Scanner (System.in); nome=sc.nextLine(); System.out.print("numero de notas:"); int numNotas = sc.nextInt(); notas = new int [numNotas]; //a criar a tabela... for(int i=0; i<numNotas; i++) { System.out.print("nota:"+(i+1)); notas[i]=sc.nextInt(); } media=calculaMedia(); }//fecha o consrutor public void imprimeEstudante() { System.out.print("as notas de "+nome+"são:"); for (int i = 0; i<notas.length;i++){ System.out.print(notas[i]+""); } System.out.print("a media e:"+media); }//fecha o metodo imprimeEstudante public float getMedia(){ return media; } //fecha o metodo getMedia private float calculaMedia(){ float soma=0; if (notas.length>0){ for (int i=0; i<notas.length; i++){ soma += notas[i]; } return soma/notas.length; } else return -1; }//fecha o metodo calcula media }//fecha a classe
HappyHippyHippo Posted July 16, 2012 at 06:20 PM Report #468908 Posted July 16, 2012 at 06:20 PM então, só para não desistires da linguagem (apesar de eu não gostar do Java) import java.util.*; public class estudante { // se estas variáveis são da classe teem de estar // definidas ao nível da classe e não dentro de nenhuma // função (no teu caso da main) private String nome; // <-------------- private int []notas; // <-------------- private float media; // <-------------- public static void main(String[]args) { }//fecha a função main public estudante() { System.out.print("nome do estudante:"); Scanner sc = new Scanner (System.in); nome=sc.nextLine(); System.out.print("numero de notas:"); int numNotas = sc.nextInt(); notas = new int [numNotas]; //a criar a tabela... for(int i=0; i<numNotas; i++) { System.out.print("nota:"+(i+1)); notas[i]=sc.nextInt(); } media=calculaMedia(); // necessitas de fechar o scanner sc.close(); // <----------------------- }//fecha o consrutor public void imprimeEstudante() { System.out.print("as notas de "+nome+"são:"); for (int i = 0; i<notas.length;i++) { System.out.print(notas[i]+""); } System.out.print("a media e:"+media); }//fecha o metodo imprimeEstudante public float getMedia() { return media; } //fecha o metodo getMedia private float calculaMedia() { float soma=0; if (notas.length>0){ for (int i=0; i<notas.length; i++) { soma += notas[i]; } return soma/notas.length; } else return -1; }//fecha o metodo calcula media }//fecha a classe IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
KiNgPiTo Posted July 16, 2012 at 06:28 PM Report #468911 Posted July 16, 2012 at 06:28 PM As variáveis de instância ficam fora da main... E o nome da class (bem como os constructores) deveriam estar a começar por maiúscula. Sugiro mesmo bastante que leias o link que o joelbrito postou em cima, estes problemas estão todos no 1º pedaço de código exemplificado.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now