Генерирование ошибки компиляции с помощью приложения pythagorean tripple trippled nested forloop
Вот мой код:
//a java application prints out all values of pythagorean triples that range from 1 to 500.
//uses a trippled nested for loop
public class pythagoreantriples{
//main method executes java application
public static void main(String args[]){
//declare variables
for(int side_1=3; side_1 <=500; side_1++){
for(int side_2=4; side_2 <=500; side_2++){
for(int hypo=5; hypo <=500; hypo++){
Math.pow(hypo,2)=Math.pow(side_1,2)+Math.pow(side_2,2);
System.out.printf("n/%d/n", Math.pow(side_1,2)," ", Math.pow(side_2,2)," ", Math.pow(hypo,2));
} //end first for loop
}//end second for loop
} //end third for loop
}//end main
}//end class
Вот ошибка, которая генерируется, когда я пытаюсь скомпилировать мой код:
>C:\Users\Courtney\Desktop\chapter five exercises for >java\pythagoreantriples.java:17: error: unexpected type
hypo*hypo=side_1*side_1+side_2*side_2;
^
>required: variable
>found: value
>C:\Users\Courtney\Desktop\chapter five exercises for
>java\pythagoreantriples.java:19: error: unexpected type
>Math.pow(hypo,2)=Math.pow(side_1,2)+Math.pow(side_2,2);
^
>required: variable
>found: value
>2 errors
>Tool completed with exit code 1
Что я делаю неправильно? Предполагается распечатать таблицу пифагорейских триплетов, которые варьируются от 1 до 500. Первый пифагорейский триплет, который должен распечатать forloop, конечно, 3^2+4^2=5^2
1 ответ
Вы должны заменить ошибочный оператор на условное выражение, заменив =
с ==
и используйте его в операторе if, чтобы решить, печатать ли текущую тройку:
if (Math.pow(hypo, 2) == Math.pow(side_1, 2) + Math.pow(side_2, 2))
Вам также нужно поработать над распечаткой. Результатом Math.pow является double, а не int. В любом случае, вы, вероятно, должны печатать стороны, а не квадраты.