Как изменить этот код, чтобы сделать переменную operation2
, работающую во второй функции switch
. Когда я делаю parseDouble
, он получает ошибку bla bla parsedouble
.
Это не работает, даже если я пытаюсь создать глобальный operation2
.Калькулятор единиц измерения Java
package matura;
import java.util.Scanner;
public class MeasureUnits {
public static void main(String args[])
{
String operation;
String operation2;
Scanner value = new Scanner(System.in);
System.out.println(" Write value: :");
double wartość;
wartość = value.nextDouble();
double yard, inch, foot, mile;
double metr, decymetr, centymetr, kilometr;
centymetr = 1;
metr = 100 * centymetr;
centymetr = 1;
kilometr = centymetr * 100000;
decymetr = 10 * centymetr;
yard = 0.9144 * metr;
inch = 2.54 * centymetr;
mile = 1.609344 * kilometr;
foot = 30.48 * centymetr;
Scanner input1 = new Scanner(System.in);
System.out.println(" Choose one of measure units" + " 'yard' 'inch' 'feet' 'mile' :");
operation2 = input1.next();
switch (operation2) {
case "yard":
System.out.println("You've choosed 'yard' ");
break;
case "inch":
System.out.println(" You've choosed 'inch'");
break;
case "mile":
System.out.println(" You've choosed 'mile'");
break;
case "foot":
System.out.println("You've choosed 'foot'");
break;
}
{
Scanner input2 = new Scanner(System.in);
System.out.println(" Choose one of polish measure units" + " 'metr' 'centymetr' 'decymetr' 'kilometr' :");
operation = input2.next();
switch (operation) {
case "metr":
System.out.println(operation2 * wartość/100);
break;
case "centymetr":
System.out.println(operation2 * wartość/100);
break;
case "kilometr":
System.out.println(operation2 * wartość/100000);
break;
case "decymetr":
System.out.println(operation2 * wartość/10);
break;
}
}
}
'bla bla parsedouble' называется сообщением об ошибке. Некоторый талантливый программист долгое время работал над компилятором, чтобы он дал вам * значимые * и * полезные * сообщения об ошибках. Пожалуйста, узнайте, что они необходимы для отладки. Так что «бла-бла» никому не помогает. Кроме того, 'switch' не является функцией, и вы не можете« переключать »на двойной. См. Тот же самый вопрос: http://stackoverflow.com/questions/5141830/switch-expression-cant-be-float-double-or-boolean – Kon
В дополнение ко всему вышесказанному, мне трудно поверить фактический код отформатирован так. Можете ли вы его аккуратно, поэтому мои глаза не болят? – dcsohl
'bla bla parsedouble' Просто еще одно * досадное сообщение об ошибке, сообщающее вам, что именно не так и где это происходит. Подсказка: вы должны прочитать его, и если вы не понимаете, что это такое и почему это происходит, выполните беглый поиск Google и приложите усилия, чтобы исправить это. Если вы все еще застряли, тогда вы будете в хорошем месте, чтобы спросить здесь. – tnw