我正在做一个做罪,cos,tan功能的程序,而且正在进行中
但是,因为我使用了if-else语句,所以它认为我的变量(stepc)可能没有被初始化。 由于三角形图是重复的,我试图使所有图形在0到360的范围内。
import java.util.Scanner;
public class Trigonometry
{
public static void main(String[]args)
{
double answer;
double x;
double stepa;
double stepb;
double stepc;
double stepd;
Scanner scanner = new Scanner (System.in);
System.out.print("Enter number");
x = scanner.nextDouble();
stepa = Math.abs(x);
stepb = stepa / 360 ;
if(stepb > 1) // <-- my functions for step c
{
while (stepb>1)
{
stepc = stepb - 1;
}
}
else
{
stepc=stepb;
}
stepd=stepc*360; // <-- won't consider step c
System.out.println( stepc );
}
}
----jGRASP exec: javac -g Trigonometry.javaenter code here Trigonometry.java:34: variable stepc might not have been initialized stepd=stepc*360; ^ 1 error ----jGRASP wedge2: exit code for process is 1. ----jGRASP: operation complete.
答案 0 :(得分:0)
在定义stepc时将其初始化为某个默认值。
答案 1 :(得分:0)
您必须先为其指定一个值才能使用它。
答案 2 :(得分:0)
初始化时,您是否尝试过为步骤[abcd]变量赋值?
另外,如果stepb&gt; 1,您编写的代码永远不会终止。你知道为什么吗?
答案 3 :(得分:0)
正如其他人所说,使用:
double answer;
double x;
double stepa;
double stepb;
double stepc = 0;
double stepd;
编辑:将值分配给其他变量也没有坏处。
另外,请注意,此循环可能无限运行:
while (stepb>1)
{
stepc = stepb - 1;
}