РЕДАКТИРОВАТЬ 1:
программа должна вывести это: java CircleBugs 1,2 0,6 r = 1,2, t = 0,6 c = 7,5398223686155035 a = 4,523893421169302 x = 0,9904027378916139, y = 0,6775709680740424
Моя ошибка:
Исключение в потоке "main" java.lang.ArrayIndexOutOfBoundsException: 0 в debug.Debug.main (Debug.java:24) C: \ Users \ User \ AppData \ Local \ NetBeans \ Cache \ 8.2 \ executor- snippets \ run.xml: 53: Java вернула: 1 BUILD FAILED (общее время: 0 секунд)
У меня возникла проблема с отладкой этой программы:
public static void main(String[] args) {
double t = Double.parseDouble(args[0]);
int r = Integer.parseInt(args[]);
System.out.println("r = " + r + ", t = " + t); //Added the ";" to close the line of code
double c = 2 * Math.PI * r;
double A = Math.PI * r * r;
double x = r * Math.cos(Math.toRadians(t)); //fixed
double y = r * Math.sin(Math.toRadians(t)); //fixed
System.out.println("c = " + c );
System.out.println("A = " + A );
System.out.println("x = " + x + ", " + "y = " + y );
}
import static java.lang.Math.*;



Массив args пуст и вызывает эту ошибку.
Проблема в том, что вы не даете своей программе никаких входных данных, поэтому вы пытаетесь использовать parseDouble(args[0]) с пустым массивом.
Используйте что-то вроде этого:
Scanner sc = new Scanner(System.in);
double t = sc.nextDouble();
int r = sc.nextInt();
Также вам следует использовать такие методы, как:
Math.cos(Math.toRadians(t))
Math.sin(Math.toRadians(t))
но я получаю эту ошибку // Исключение в потоке «main» java.lang.ArrayIndexOutOfBoundsException: 0 в debug.Debug.main (Debug.java:20)
А каков ваш вклад? Вероятно, вы не вводите в свою программу какие-либо данные, а args пуст.
что там происходит, то завершенная программа должна вывести: java CircleBugs 1.2 0.6 r = 1.2, t = 0.6 c = 7.5398223686155035 a = 4.523893421169302 x = 0.9904027378916139, y = 0.6775709680740424
Я отредактировал свой ответ.
По-прежнему возникают эти ошибки, и он продолжает возвращаться к строкам синтаксического анализа // double t = Double.parseDouble (args [0]); int r = Integer.parseInt (args [0])
Как вы запускаете свою программу?
Я использую blueJ, но даже в netbeans ide я сталкиваюсь с этой ошибкой
Вам нужно дать вашей программе какой-то вклад. Я написал вам пример в моем отредактированном ответе, а затем вы можете запустить свою программу через консоль.
Хорошо, я добавил код, который вы предложили, хотя C + P изменил имена переменных. Теперь программа получает ввод от пользователя, но сразу после ее завершения происходит сбой и не выводятся необходимые числа.
Поэтому вам необходимо обновить свой вопрос для получения новой информации, но имейте в виду, что этот сайт не предназначен для отладки ваших программ. Также примите мой ответ, если он вам помог.
Вы должны использовать методы Math.cos() и Math.sin().
double x = r * Math.cos(t);
double y = r * Math.sin(t);
При использовании Double.parseDouble(args[0]) предполагается, что вы передаете значения в командной строке для значений этого аргумента, в противном случае массив пуст (так что вы получаете indexoutofboundexception при вызове первого элемента из пустого массива). Так что просто измените код вот так
double t = Double.parseDouble(args[0]);
int r = Integer.parseInt(args[1]);
И в командной строке выполните это.
java test 5 4 //5 in place of t and 4 in place of r
Я сохранил свой файл как test.java, поэтому замените test именем вашего файла и запустите.
Что говорится в сообщении об ошибке?