Angel*** 0 Denunciar post Postado Maio 31, 2009 Boa Tarde, Tenho uma classe com um menu bem simples e um switch case que chama os métodos de outra classe. Porém não consigo chamar os métodos com retorno de valores. E toda informação necessária para a solução do método deve ser obrigatoriamente obtida fora da classe que contém os métodos, e quando coloco as informações no case não consigo buscar pelo método da outra classe. Podem me auxiliar? Estou começando o código e parei nisso Só fi o Fibonacci mas não funcionou no método... Classe com o Menu e o Switch - case package trab2bim; import java.util.Scanner; import javax.swing.JOptionPane; public class Menu extends Metodos { /** * Autora: Angel */ public static void main(String[] args) { opcoes(); } public static void opcoes() { System.out.println("*Trabalho de ALgoritmos II*\n"); System.out.println("1 - Cálculo de uma prestação em atraso"); System.out.println("2 - Soma de valores inteiros"); System.out.println("3 - Cálculo de potência de um número"); System.out.println("4 - Fibonacci"); System.out.println("5 - Verificar se um número é primo"); System.out.println("6 - Verificação do menor número"); System.out.println("7 - Média aritmética"); System.out.println("8 - Converter valores em Reais para Dólar"); System.out.println("9 - Contagem de vogais"); System.out.println("10 - Verificar intervalo entre números"); System.out.println("11 - Verificação de valores divisíveis por 3 ou por 5"); System.out.println("12 - Frase ao contrário"); System.out.println("13 - Formatação em caixa alta"); System.out.println("14 - Remover espaços em branco de uma frase"); System.out.println("15 - Vogais e Consoantes"); Scanner input = new Scanner(System.in); int num; String aux = JOptionPane.showInputDialog("Selecione uma opção do Menu"); num = Integer.parseInt(aux); switch (num) { case 1: prestacao(total); double total = 0; double valor = 1; double taxa = 0; int dias = 1; System.out.println("Informe o valor da prestação"); if (valor < 0) { System.out.println("O valor da prestação não pode ser menor que zero"); } else valor = input.nextDouble(); System.out.println("Informe o valor da taxa de juros"); if (taxa < 0) { System.out.println("O valor da prestação não pode ser menor que zero"); } else taxa = input.nextDouble(); System.out.println("Informe os dias de atraso"); if (dias < 1) { System.out.println("O valor da prestação não pode ser menor que zero"); } else dias = input.nextInt(); break; case 2: somaInteiros(); break; case 3: potencia(); break; case 4: fibonacci(); long numf; System.out.println("Informe qual termo da sequencia deve ser mostrado"); numf = input.nextLong(); break; case 5: primo(); break; case 6: nummenor(); break; } } } Classe com os métodos package trab2bim; import java.util.Scanner; public class Metodos { /** *Autora:Angel */ public static void main(String[] args) { Scanner input = new Scanner(System.in); } public void prestacao(double total) { } public static void somaInteiros() { } public static void potencia() { } public static long fibonacci(long numf) { Scanner input = new Scanner(System.in); long numInicio; System.out.println("Informe qual termo da sequencia deve ser mostrado"); numf = input.nextLong(); numInicio = numf; if ((numf == 0) || (numf == 1)) { return numf; } else return fibonacci(numf - 1) + (numf - 2); } public void fin(int numinicio) { for (int i = 0; i <= numinicio; i++) { System.out.printf("Fibonacci de " + numinicio + "é:", fibonacci(i)); } } public static void primo() { } public static void nummenor() { } public static void aritmetica() { } public static void realDolar() { } public static void contarVogais() { } public static void intervaloNum() { } Obrigada! Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Maio 31, 2009 Não entendi bem sua duvida. As chamadas de método e os próprios métodos estão normais pelo que vi. E veja: algo.java: package app; class algo { public static int soma(int x, int y){ return x+y; } } Main.java: package app; import java.util.Scanner; class Main extends algo { public static void main(String args[]){ int a = 0; int b = 0; Scanner in = new Scanner(System.in); System.out.print("Digite o valor de a:"); a = in.nextInt(); System.out.print("Digite o valor de b:"); b = in.nextInt(); System.out.println("a+b:" + (soma(a, b))); } } Compartilhar este post Link para o post Compartilhar em outros sites
Angel*** 0 Denunciar post Postado Maio 31, 2009 Não entendi bem sua duvida. As chamadas de método e os próprios métodos estão normais pelo que vi. Obrigado pela rápida resposta. Quando eu chamo o método da erro, ele não executa o método. E na verdade nem esta funcionando. por exemplo: na classe Menu se coloco no case: Fibonacci() Da erro e a mensagem de que deve ser Fibonacci(long) e se coloco assim continua dando erro Não sei como devo colocar, e não consigo chamar o método Obrigada! Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Maio 31, 2009 Agora vi... Seguinte...se a função te pede x argumentos de x tipo,você os passa. No caso a função te pede um long...passe a ela! Compartilhar este post Link para o post Compartilhar em outros sites
Angel*** 0 Denunciar post Postado Maio 31, 2009 Agora vi... Seguinte...se a função te pede x argumentos de x tipo,você os passa. No caso a função te pede um long...passe a ela! Sim, eu já fiz isso mas mesmo assim continua dando erro. Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Maio 31, 2009 Sugiro que dê uma estudada e refaça... Adiciona uma chave depois do método intervaloNum na classe Metodos. Apesar de seus métodos estarem sem lógica,se os chamar corretamente vai funcionar. Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Junho 1, 2009 Seu método está definido para retornar um long. public static long fibonacci(long numf) Voce deve usá-lo e guardar seu resultado. Algo desse tipo: long entrada = input.nextLong(); long resultado = fibonacci(); Se não qual seria o propósito desse método? A propósito, pra que serve o argumento se voce descarta o valor sem usá-lo? public static long fibonacci(long numf) { Scanner input = new Scanner(System.in); long numInicio; System.out.println("Informe qual termo da sequencia deve ser mostrado"); numf = input.nextLong(); Compartilhar este post Link para o post Compartilhar em outros sites
Angel*** 0 Denunciar post Postado Junho 8, 2009 Muito obrigada. Fiz algumas alterações e agora funcionou. Porém tenho outra dúvida, coloquei um método bem simples para demostrar, pois tenho que mostrar o retorno de todos os métodos. No caso do método SomaInteiros, quero mostrar a soma dos números obtidas na classe 'Metodos' na classe menu, depois de chamar o método SomaInteiros quero mostrar o resultado Podem me auxiliar por gentileza? Muito obrigada! package trab2bim; import java.util.Scanner; import javax.swing.JOptionPane; /** * public class Menu extends Metodos { * * /** Autora: Angel * } */ public class Menu { private static Menu menu = new Menu(); public static void main(String[] args) { menu.opcoes(); } public static void opcoes() { System.out.println("*Trabalho de ALgoritmos II*\n"); System.out.println("1 - Cálculo de uma prestação em atraso"); System.out.println("2 - Soma de valores inteiros"); System.out.println("3 - Cálculo de potência de um número"); System.out.println("4 - Fibonacci"); System.out.println("5 - Verificar se um número é primo"); System.out.println("6 - Verificação do menor número"); System.out.println("7 - Média aritmética"); System.out.println("8 - Converter valores em Reais para Dólar"); System.out.println("9 - Contagem de vogais"); System.out.println("10 - Verificar intervalo entre números"); System.out.println("11 - Verificação de valores divisíveis por 3 ou por 5"); System.out.println("12 - Frase ao contrário"); System.out.println("13 - Formatação em caixa alta"); System.out.println("14 - Remover espaços em branco de uma frase"); System.out.println("15 - Vogais e Consoantes"); Scanner input = new Scanner(System.in); int num; String aux = JOptionPane.showInputDialog("Selecione uma opção do Menu"); num = Integer.parseInt(aux); switch (num) { case 1: break; case 2: int inteiro1; int inteiro2; System.out.println("Digite um numero inteiro"); inteiro1 = input.nextInt(); System.out.println("Digite um numero inteiro"); inteiro2 = input.nextInt(); Metodos.somaInteiros(inteiro1, inteiro2); System.out.println("A soma dos numeros e igual a:"...); //chamar o "return soma;" break; ...(continuação) Classe Métodos package trab2bim; import java.util.Scanner; public class Metodos { /** * Autora: Angel */ public static void main(String[] args) { Scanner input = new Scanner(System.in); } public static double prestacao(double taxa, double valor, int dias) { } public static void somaInteiros(int inteiro1, int inteiro2) { int soma= inteiro1 + inteiro2; return soma; } Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Junho 8, 2009 Mude o método para: public static int somaInteiros(int inteiro1, int inteiro2) { int soma= inteiro1 + inteiro2; return soma; } E use-o: case 2: int inteiro1; int inteiro2; System.out.println("Digite um numero inteiro"); inteiro1 = input.nextInt(); System.out.println("Digite um numero inteiro"); inteiro2 = input.nextInt(); System.out.println("A soma dos numeros e igual a:" + Metodos.somaInteiros(inteiro1, inteiro2)); break; Compartilhar este post Link para o post Compartilhar em outros sites
Angel*** 0 Denunciar post Postado Junho 9, 2009 Muito obrigada! Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Junho 9, 2009 Foi nada. Vou colocar o tópico como resolvido. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Angel*** 0 Denunciar post Postado Junho 9, 2009 Foi nada. Vou colocar o tópico como resolvido. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Ok! Muito bom ter repostas rápidas! Compartilhar este post Link para o post Compartilhar em outros sites