Ir ao conteúdo

Posts recomendados

Postado

Galera to com um problema aqui procurei na net ja e tu mas, nao achei nada que resolvesse meu problema na hora que o usuario digita  uma letra o programa informa "digite apenas numeros" porém ele entra em um loop infinito e eu nao sei como parar. Bom vejam o codigo ae.

 

import java.util.InputMismatchException;
import java.util.Scanner;

public class Questao1 {

    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        int A[] = new int[10];
        int b[] = new int[10];
        int cont = 0;
        boolean flag = false;
        while(!flag){
        try{
            System.out.println("Informe 10 valores para o vetor!");
            for (int i = 0; i < A.length; i++) {
                A = teclado.nextInt();
                if (A <= 0) {
                    b = A;
                    cont++;
                }// fim do if
            }// fim do for
            for (int j = 0; j < 10; j++) {
                System.out.println("Valores no vetor A: " + A[j]);
            }// fim do for
            System.out.println("-----------------------------------------");
            for (int l = 0; l < cont; l++) {
                System.out.println("Valores no vetor B: " + b[l]);
            }// fim do for
        } catch (InputMismatchException e) {
            System.out.println("Informe apenas numeros!");
             flag = false;// para ter certeza.
        }// fim do catch
        }// fim do while
    }// fim do metodo
}// fim do progroma
 

Postado

Tem um erro ai no seu código:

int A[] = new int[10]; //variável A é um vetor de inteiros
...= teclado.nextInt(); //você está setando um valor inteiro quando a variável é um vetor

O correto seria você atribuir o valor para uma posição do vetor ... assim:

A[i] = teclado.nextInt();

Esse é o motivo do InputMismatchException ...

Existem outros locais onde você faz a atribuição direta entre vetores ... o ideal é fazer por valor pra evitar esse tipo de erro.

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!