Como eu faço para aparecer uma mensagem de aviso dizendo q o valor esta incorreto? - RESOLVIDO

[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.

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

[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!

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