Я застрял на этот вопрос в то время как петли, был бы рад, если кто-то может определить, где я неправильно :)Java dicegolfgame - whileloop
игра в гольф Написать программу, которая использует время цикла, чтобы играть в кости игра в гольф. Расстояние до отверстия начинается со 100 м. Человек неоднократно выбирает, какой клуб использовать. Различные варианты выбора соответствуют различным односторонним виртуальным «кубикам» для рулона, т. Е. Дают случайное число. Если они выбирают клуб 1 (клюшка), они набрасывают число от 0 до 5, представляя собой удаленный пробег. Если они выбирают клуб 2 (для качки), они свертывают число от 0 до 30. Если они выберут клуб 3 (железо), они перевернут число от 0 до 150. После каждого броска это число вычитается с расстояния до отверстия (с отрицательными расстояниями делается положительным для следующего раунда). Они продолжают катиться, пока не достигнут ровно 0. Когда они делают, количество напечатанных снимков напечатано.
The following shows an example run of the program:
Distance to hole 100m. Which club (1-putting, 2-pitching or 3-iron) 3
You hit it...120m
Distance to hole 20m. Which club (1-putting, 2-pitching or 3-iron) 2
You hit it...16m
Distance to hole 4m. Which club (1-putting, 2-pitching or 3-iron) 1
You hit it...1m
Distance to hole 3m. Which club (1-putting, 2-pitching or 3-iron) 1
You hit it...3m
Congratulations. You took 4 shots.
Я новичок в Java, ниже того, что мне удалось сделать, но показывает ошибку: в то время как (! Input.equals ("1" || "2" || "3")) , Я не уверен, правильно ли это сделано и потрачено на это, было бы рада, если бы кто-то мог помочь в решении проблемы вопроса :) Большое спасибо.
public static void dicegolfgame(String[] args)
{
String input = "";
int difference = 0;
int newdistance = 0;
int distance = 0;
int i = 0;
while (input.equals ("1" || "2" || "3"))
{
Random roll2 = new Random();
distance = roll2.nextInt(100);
input = JOptionPane.showInputDialog ("distance to hole " + distance + " Which club (1-putting), 2-(pitching) or 3-iron");
while (difference > 0 && difference < 0)
if (input.equals ("1"))
{
Random roll = new Random();
newdistance = roll.nextInt(5);
i = i+1;
JOptionPane.showMessageDialog(null, "you hit ..." + newdistance + "m");
difference = distance - newdistance;
}
else if (input.equals ("2"))
{
Random roll = new Random();
newdistance = roll.nextInt(30);
i = i+1;
JOptionPane.showMessageDialog(null, "you hit ..." + newdistance + "m");
difference = distance - newdistance;
}
else if (input.equals ("3"))
{
Random roll = new Random();
newdistance = roll.nextInt(150);
i = i+1;
JOptionPane.showMessageDialog(null, "you hit ..." + newdistance + "m");
difference = distance - newdistance;
}
if (difference == 0)
{
break;
JOptionPane.showMessageDialog(null, "Congratulations, you took" + i + "shots.");
}
while (разница> 0 && разница <0) - как это возможно? – NerosE
Я не уверен, поскольку я сказал, что я новичок в этом, но вопросы, требующие продолжения цикла, даже если разница отрицательная, поэтому я думал, что разница должна быть сохранена> 0 и <0. Наверное, я ошибаюсь:/ – Arpit