Scanner não está funcionando nessa situação

5 respostas
M

Quando no s = s+m; da erro no meu codigo de scanner na lina inteira
A atividade é :

  1. Faça um programa que leia um número não determinado de pares de valores [m, n] , todos inteiros e positivos, um par de cada vez, e que calcule e mostre a soma de todos os números inteiros entre m e n (inclusive). A digitação de pares terminará quando m for maior ou igual a n .
-----------------------------------------------CODIGO-------------------------------------------

package Lista2;

import java.util.Scanner;

public class Quest22 {

public static void main(String[] args) {

while (10 < 1){

Scanner reader = new Scanner(System.in);

System.out.println("Digite o lado 1 ");

int m = reader.nextInt();

System.out.println("Digite o lado 1 ");

int n = reader.nextInt();
if (m > n) {
            break ;
        }

        int s =0;
        while (m < n){

        }
        for (int i = 0; m < n;){
            s = s+m;
        }
        System.out.println("soma"+ s);
    }
    }
}

5 Respostas

Fefo80

Teu código nunca vai passar disso. 10 sempre vai ser maior que 1. :wink:

Bons estudos!

Edição: copiei a parte do @staroski corrigindo o que eu tinha colocado sobre entrada do teclado.

staroski

Corrigindo:
Quando usar a classe “Scanner” para ler entrada de dados a partir do TECLADO, utilize sempre “nextLine()”, pois é o único método dessa classe que consome a quebra de linha gerada ao pressionar “ENTER”.

M

o true não iniciava ate resolver, então para isso coloquei o 10 < 1 com pensamento de que sempre que 10 for maior que 1 o while vai ser executado

M
No final de contas resolvi dessa forma:

public static void main(String[] args) {

Scanner reader = new Scanner(System.in);
while (10 > 1){
        System.out.println("Digite numero M ");
        int m = reader.nextInt();
        System.out.println("Digite numero N ");
        int n = reader.nextInt();


        if (m > n) {
            break ;
        }

        int s =0;
        while (m <= n){
            s = s+m;
            m++;


        }
        System.out.println("soma: "+ s);
    }
    }
Fefo80
do {
      (...)
      } while (m >= n);
Criado 25 de outubro de 2020
Ultima resposta 26 de out. de 2020
Respostas 5
Participantes 3