Я начинающий программист, и в настоящее время я ударяю головой о стену над этим заданием. Мне нужно создать программу, которая «имитирует» использование автомобиля, поэтому он идет: диск, парк и заполнение. Первое, что он делает, это спросить, сколько литров газа, которое может хранить ваш бак, и сколько литров в настоящее время находится в баке. Затем он спрашивает у пользователя, хочет ли он a) диск, b) заполнить или c) припарковать. Мне нужно захватить пользовательский ввод (который я уже знаю, как это сделать), и в зависимости от того, входит ли пользователь в a, b или c, он переходит к этому определенному блоку кода и запускает его.if, else if, else statements: В блоках кода
Вот конкретные инструкции о том, а, Ь, с должны сделать: а) Привод: 1. введите сумму Km приводимый (пользователь вводит этот) 2. Вывод сколько литров газа были и количество газа, оставшегося в резервуаре. (мы предполагаем, что автомобиль использует в среднем 0,1 л/км)
b) Заполните 1. Пользователь должен указать количество литров, которые они хотят добавить 2. Выходное количество литров в баке. (пользователь не может вводить больше литров, чем резервуар может удерживать)
c) Парк 1. Выходное количество литров в баке и общее количество управляемых км. 2. Выход из петли
Я использую правильный вид петли? Как получить код для запуска уравнения (посмотрите на красные подчеркнутые линии)? Пожалуйста, помоги мне, я так потерялся.
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("How many litres of gas can your tank hold?");
int litreCap = scan.nextInt();
System.out.println("How much gas is currently in your tank?");
int startingLitre = scan.nextInt();
System.out.println("Ok! Do you want to \n a) Drive \n b) Fill up, or \n c) Park");
String abc = scan.next();
String a, b, c;
a = String.valueOf(1); //Wasn't sure if the problem had to do with the fact
b = String.valueOf(2); //That I hadn't identified a,b and c
c = String.valueOf(3);
double litresUsed, gasTotal;
if (abc .equals(a)) { //this is the drive section
System.out.println("Please enter the amount of Kilometers driven.");
int KmCount = scan.nextInt();
litresUsed = 0.1*KmCount;//underlined yellow
startingLitre - litresUsed = gasTotal;//this is underlined red
}
else if (abc .equals(b)){ //this is the fill up section
System.out.println("OK! Please enter how many litres you are going to add.");
int litresAdded = scan.nextInt(); //this is underlined yellow
litresUsed + litresAdded = gasTotal; //underlined red
}
else {
//enter c) Park code here
}
}
}
Я не вижу никакой петли в вашем коде? если a, b и c - String, то что такое abc? Я никогда не видел, чтобы вы могли конкатенировать такие строки? !!! ** можете ли вы даже запустить свой код? ** –
Позвольте мне предложить вам добавить более описательные имена для переменных, например, вместо 'a', использовать что-то вроде' driveSelected'. Что-то, что поможет вам (и другим после вас) помнить, что опция (a) - это то, что пользователь хочет водить. – germanio
что-то еще: 'startLitre - litresUsed = gasTotal;' помните, что когда вы присваиваете что-то переменной, целевая переменная идет слева, источник (выражение, другая переменная, метод выполняется) идет по правой стороне заявление, например: 'gasTotal = startLitre - litresUsed;' – germanio