А как сделать так, чтобы одно общее значение (бак 1000 мл) после вычерпывания 100 мл, возвращал новое значение и следующая кружка отнималась бы уже от нового значения?
Так вы переменной, которая содержит информацию о баке, внутри цикла после вычерпывания (вычитания) присваивайте новое значение и все
Примерно как-то так:
public class Main {
public static void main(String[] args) {
int volume = 1000;
Scanner scanner = new Scanner(System.in);
System.out.println(
"Объем бака равен - 1000 мл. \n" +
"Введите значение 100 мл. или 200 мл."
);
while (volume >= 0) {
int input = scanner.nextInt();
if(input > volume) {
System.out.println("В баке нет такого объема воды!");
continue;
} else if(input == 100) {
volume -= input;
System.out.println("Остаток в баке: " + volume);
} else if (input == 200) {
volume -= input;
System.out.println("Остаток в баке: " + volume);
} else {
System.out.println("Вы ввели недействительное значение!");
}
if(volume == 0) {
System.out.println("Вода в баке закончилась");
break;
}
}
}
}
В первой ветке if проверяем есть ли такой объем воды в баке
Во второй и в третьей ветках мы соответственно, вычитаем нужный объем из общего объема бака
В четвертой ветке мы выводим сообщение, если введено значение отличное от 100 или 200.
Ну и в самом конце если объем меньше 0, то выходим из цикла.