package exe_java;
import java.util.Scanner;
public class exe4 {
/** Escreva um aplicativo que localize o menor de vários inteiros. Assuma que o primeiro valor lido
especifica o número de valores a serem inseridos pelo usuário. */
public static void main(String[] args) {
Scanner y= new Scanner(System.in);
System.out.print("n° de valores a serem inseridos:");
int x= y.nextInt();
int valor=0;
for(int counter=x;counter>0;--counter){
Scanner insert=new Scanner(System.in);
System.out.print("insira o "+ (x-counter+1)+"° valor: " );
int valor2= insert.nextInt();
if (valor>=valor2 ||counter==x){
valor=valor2;
}
}
System.out.print("o menor valor inserido: "+valor);
}
}
Como eu faço para aparecer uma mensagem de aviso dizendo q o valor esta incorreto? - RESOLVIDO
7 Respostas
Não precisa, o método nextInt lança uma InputMismatchException caso o próximo token na entrada não corresponda a um inteiro.
Pode fazer 03 opções:
- Se for usar interface gráfica, use o simplório JOptionPane.showMessageDialog
- No seu caso, pode usar um try…catch e crie uma exceção personalizada!
- Ou então esperar pelo InputMismatchException mesmo!
o try catch é o q eu tava procurando mas pesquesei como usa ele e eu olho o cod e nao sei ond ta o erro
fico assim
aparece isso
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
exception cannot be resolved to a type
package exe_java;
import java.util.Scanner;
public class exe4 {
/**
Escreva um aplicativo que localize o menor de vários inteiros. Assuma que o primeiro valor lido
especifica o número de valores a serem inseridos pelo usuário. */
public static void main(String[] args) {
try{
Scanner y= new Scanner(System.in);
System.out.print("n° de valores a serem inseridos:");
int x= y.nextInt();
int valor=0;
for(int counter=x;counter>0;--counter){
Scanner insert=new Scanner(System.in);
System.out.print("insira o "+ (x-counter+1)+"° valor: " );
int valor2= insert.nextInt();
if (valor>=valor2 ||counter==x){
valor=valor2;
}
}
System.out.print("o menor valor inserido: "+valor);
return;
}
catch(exception e){ //o erro aparece nessa linha
System.out.print("ERRO: digite um n° inteiro");
}
}
}
at exe_java.exe4.main(exe4.java:29)
:?: :?: :?:
O erro está na sintaxe. Troque exception por Exception. Letra maiuscula.
Veja ai!
Se tiver problema na lógica ( que eu não testei sua lógica ) posta ai!
Abraços!
VEJA NESSE SITE DEVE AJUDAR MLK!
http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html
Outras observações:
import java.util.Scanner;
public class Exe4 { //nome de classe tem que iniciar com letra maiuscula
public static void main(String[] args) {
Scanner in = new Scanner(System.in); //vc só percisa de um objeto Scanner não precisa de mais.
try {
System.out.print("n° de valores a serem inseridos:");
int x = in.nextInt();
int valor = 0;
for (int counter = x; counter > 0; --counter) {
System.out.print("insira o " + (x - counter + 1) + "° valor: ");
int valor2 = in.nextInt();
if (valor >= valor2 || counter == x) {
valor = valor2;
}
}
System.out.print("o menor valor inserido: " + valor);
//return; //esse return tambem não tem sentido nenhum!
} catch (Exception e) { //o erro aparecia nesta linha porque estava com erro na sintaxe
System.out.print("ERRO: digite um n° inteiro");
}
}
}
vixi fiquei teh constrangido agora :oops: (q erro bobo)
era isso mesmo a insignificante letrinha causou um problemão rsrsrsrs
vlw pela ajuda
agora deu certo
Criado 11 de abril de 2010
Ultima resposta 12 de abr. de 2010
Respostas 7
Participantes 4
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo