import java.io.*;
public class transf {
public static final int GRAUS = 90;
public static final int GRADOS = 100;
public static int result;
private static boolean emgraus(int auxgrados) {
result = (GRAUS * auxgrados) / GRADOS;
System.out.println("São " + result + " graus!");
return true;
}
private static boolean emgrados(int auxgraus) {
result = (GRADOS * auxgraus) / GRAUS;
System.out.println("São " + result + " grados!");
return true;
}
public static void main(String a[]){
int x;
int z;
while (x!=0){
System.out.println("1 para graus - grados, 2 para grados - graus e 0 para sair!");
try{
x = System.in.read();
} catch (IOException ioe) {
System.out.println("Excessao: " + ioe);
}
if (x!=0){
if (x==1){
System.out.println("Digite o correspondente em graus.");
try{
z = System.in.read();
} catch (IOException ioe) {
System.out.println("Excessao: " + ioe);
}
emgrados(z);
} else if (x==2){
System.out.println("Digite o correspondente em grados.");
try{
z = System.in.read();
} catch (IOException ioe) {
System.out.println("Excessao: " + ioe);
}
emgraus(z);
}
} else {
System.exit(0);
}
}
}
}
Nesse código, ele aponta que as variáveis x e y não foram inicializadas. Realmente, creio que seja um erro, já que o primeiro if não pode ser realizado(porém no C++ eu consegui fazer isso). Inicializei o x com um valor qualquer então(3 por exemplo). Aí, ele reclama do z. Só pra testar(sabendo que não rodaria de uma maneira correta) inicializei o z com o 3 também. Então rodou. Porém, não funcionou nem perto da maneira correta. Ele fica dando loops na primeira sentença("1 para bla-bla, 2 para bla-bla e 0para sair"). Qualquer número que eu forneça ele escreve 3 vezes essa frase na tela. Talvez o método exit da classe System esteja errado, não tenho certeza(acho que não). Mas eu acho que o erro está no System.in.read() e em outra parte do programa.
Já que não consegui achar o erro, alguém pode me ajudar?
Pergunta
rodfraga
Galera, aí está o primeiro código:
Nesse código, ele aponta que as variáveis x e y não foram inicializadas. Realmente, creio que seja um erro, já que o primeiro if não pode ser realizado(porém no C++ eu consegui fazer isso). Inicializei o x com um valor qualquer então(3 por exemplo). Aí, ele reclama do z. Só pra testar(sabendo que não rodaria de uma maneira correta) inicializei o z com o 3 também. Então rodou. Porém, não funcionou nem perto da maneira correta. Ele fica dando loops na primeira sentença("1 para bla-bla, 2 para bla-bla e 0para sair"). Qualquer número que eu forneça ele escreve 3 vezes essa frase na tela. Talvez o método exit da classe System esteja errado, não tenho certeza(acho que não). Mas eu acho que o erro está no System.in.read() e em outra parte do programa.
Já que não consegui achar o erro, alguém pode me ajudar?
Valeu pela atenção galera!
Rodrigo
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.