Мне нужно напечатать окружность Math.random() * Math.Pi;
, но я делаю что-то неправильно или что-то не хватает. Каждое произвольное сгенерированное число равно радиусу круга. Моя идея состояла в том, чтобы вычислить Пи в getRandomNumberInRange method
, но когда я делаю, я получаю сообщение об ошибке:Как рассчитать окружность со случайными числами?
Bad operand for type double
import java.util.Random;
import java.util.Scanner;
final static double PI = 3.141592564;
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
//ask the player to enter a number less than or equal to 18 and higher to 9.
System.out.println(" Please enter a number less than or equal to 18 and above 9: ");
int random = sc.nextInt();
//send error message if bad input
if (random < 9 || random > 18) {
System.out.println(" Error. Unauthorized entry . You need to enter a number less than or equal to 18 and above 9 ");
} else
//If the answer is yes , generate nine different random numbers from 0.
for (int i = 0; i < 9; i++) {
double surface = PI * (random * 2);
System.out.println(getRandomNumberInRange(9, 18) + " : " + " The circumference is : " + surface);
}}
Метод называется:
private static int getRandomNumberInRange(int min, int max) {
Random r = new Random();
return r.nextInt((max - min) + 1) + min;
}
Предполагая, что 'surface' должна быть окружность, вы генерирующий случайное число, но вы не используете, что случайное число, чтобы вычислить окружность. Вы вычисляете окружность с переменной с именем 'random', но эта переменная не является случайным числом. Я действительно не знаю, чего вы пытаетесь достичь. – ajb
Для вычисления окружности необходимо использовать только девять сгенерированных чисел. Пользователь вводит число от 9 до 18. Скажем 10. Этот ввод будет генерировать 9 случайных чисел. Каждое генерируемое число равно другому радиусу. –
Я не могу сказать, откуда исходит ошибка. Компилятор сообщит вам, какой номер строки содержит ошибку. Пожалуйста, выясните, к какой строке относится этот номер, и дайте нам знать. (И не просто сообщите нам номер строки, это не поможет нам. Лучше всего отредактировать ваш вопрос и добавить текст в строку «ОШИБКА ЗДЕСЬ» или что-то в этом роде. – ajb