Estou tentando calcular o prejuízos da empresa com o Java, e estou usando o Scanner para que eu possa mudar as informações quando eu quizer. Eu coloquei três perguntas que foram:
System.out.println("How Many Minutes Per Hour Do Your Employees Waste While At Work?");ScannerMinutesX=newScanner(System.in);System.out.println("How Much You Earn Per Hour?");ScannerValueY=newScanner(System.in);System.out.println("How Many Employees Waste While At Work?");ScannerEmployeesZ=newScanner(System.in);
O certo seria ele primeiro fazer a primeira pergunta, para depois partir para a segunda pergunta, mas ele está já partindo para a terceira pergunta. O que está acontecendo?
importjava.util.Scanner;classPrejuizos{publicstaticvoidmain(String[]args){intMinutesWasted;doubleValueHour;intNumberEmployees;//Asking for InformationSystem.out.println("How Many Minutes Per Hour Do Your Employees Waste While At Work?");ScannerMinutesX=newScanner(System.in);System.out.println("How Much You Earn Per Hour?");ScannerValueY=newScanner(System.in);System.out.println("How Many Employees Waste While At Work?");ScannerEmployeesZ=newScanner(System.in);//Creating Variables and Giving InformationsMinutesWasted=MinutesX.nextInt();ValueHour=ValueY.nextDouble();NumberEmployees=EmployeesZ.nextInt();//Subtract, Mutiplication and DivisionintResult1=60-MinutesWasted;intResult2=Result1*8;intResult3=Result2*4*12;doubleResult4=Result3*ValueHour;doubleResult5=Result4*NumberEmployees;//ResultSystem.out.println("The Company's loss is:");System.out.println(Result5);}}
R
rflbboy
Encontrei mais dois erros. Primeiro que o Scanner não está aceitando números quebrados e o outro problema que o calculo está dando errado, mas não vejo errado na construção da conta.
A conta é: (((60-X)86412)/60)YZ
ViniGodoy
Não é assim que usa o scanner. Veja:
Scanner in = new Scanner(System.in);
double minutesX = Double.parseDouble(in.nextLine());
I
IronM
Você estava apenas instanciando os “scanners”, mas nao os estava utilizando.
Você deve utilizar o método “next()” para entrar com dados via teclado
Assim como o ViniGodoy disse, “nextLine()” é um método q lê uma linha inteira até ser pressionado.
ViniGodoy
IronM:
Você estava apenas instanciando os “scanners”, mas nao os estava utilizando.
Você deve utilizar o método “next()” para entrar com dados via teclado
Assim como o ViniGodoy disse, “nextLine()” é um método q lê uma linha inteira até ser pressionado.
Para ler dados via teclado, você deve usar o nextLine(). Os métodos nextInt(), nextDouble() são para outros tipos de entrada (arquivos).
Lembre-se que via teclado, o conteúdo é sempre terminado com um enter. Usar os outros métodos pode deixar lixo no buffer do Scanner, o que faz com que algumas leituras misticamente sejam ignoradas.