[code]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);
}
}
[/code]
como eu faço para aparecer uma mensagem de aviso dizendo q o valor esta incorreto?
exemplo:“ERRO: digite um n° inteiro”
o exercicio nao pede mas gostaria de saber
e se tiver algum jeito mais facil de fazer isso avisem(algum codigo diferente ou codigos q eu coloquei a maisq daria pra tirar)
Não precisa, o método nextInt lança uma InputMismatchException caso o próximo token na entrada não corresponda a um inteiro.
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
[code]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");
}
}
}
[/code]
aparece isso
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
exception cannot be resolved to a type
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!
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