Alguém me ajude pfv, urgente

3 respostas Resolvido
M
Estou no 1° período do meu curso, gostaria de tirar uma dúvida!

switch(opcao) {

case 1:

System.out.println(Qual o nome do novo processo?);

String nome = leitor.nextLine();

System.out.println(Qual o tamanho dele?);

int tamanho = leitor.nextInt();

Escalonador.criarProcesso(nome, 10);

}

Por que ali em String nome na hora que executo o código ele não me deixa adicionar o nome do processo?

3 Respostas

RoinujNosde

Não entendi o problema.
O que era para acontecer? O que está acontecendo?

M
Esse é um código em Java para criar processos, alocá-los em uma fila e executá-los de acordo com a lógica de funcionamento do algoritmo FCFS. Logo, antes dessa parte do código existe um escalonador e um processo.

import java.util.Scanner;

class Main {

public static void main(String[] args) {
Scanner leitor = new Scanner(System.in);

System.out.println("=======================");

System.out.println(O que você deseja fazer?);

System.out.println(1. Criar novo processo e executar todos;);

System.out.println(2. Encerrar um processo e executar todos;);

System.out.println(3. Apenas executar processos  criados;);

System.out.println(0. Sair do programa.);

int opcao = leitor.nextInt();
switch(opcao) {

case 1:

System.out.println(Qual o nome do novo processo?);

String nome = leitor.nextLine();

System.out.println(Qual o tamanho dele?);

int tamanho = leitor.nextInt();

Escalonador.criarProcesso(nome, 10);

}

}
}

Metade do código é esse, mas o que está dando erro é ali em String nome, pois ele não me deixa adicionar o nome do processo e já pula para adicionar o tamanho do processo.
Espero que entenda e consiga me ajudar! rs

RoinujNosde
Solucao aceita

O seu problema é esse:

Resumindo:
Faça:

int opcao = Integer.parseInt(leitor.nextLine());

Ou:

int opcao = leitor.nextInt();
leitor.nextLine(); //isso toda vez que usar nextInt() ou parecido para consumir o newline
Criado 12 de abril de 2021
Ultima resposta 12 de abr. de 2021
Respostas 3
Participantes 2