java 我是新手~ 请问为什么CMD提示找不到符号呢?

来源:百度知道 编辑:UC知道 时间:2024/06/18 17:37:47
public class Quadratic
{

public static void main(String[] args)
{

System.out.println("1) Enter coefficients");
System.out.println("2) Solve for given x");
System.out.println("3) Find roots");
System.out.println("4)Quit");
System.out.println("Please enter option:");
int option;
option = StdIn.readInt();
switch(option)
{
case 1:
System.out.println("Please enter a:");
int a = StdIn.readInt();
System.out.println("Please enter b:");
int b = StdIn.readInt();
System.out.println("Please enter c:");
int c = StdIn.readInt();
break;
case 2:
System.out.println("Please enter x:");
int x = StdIn.readInt();

变量要先定义再使用,否则就会报出“找不到符号”的错误。StdIn,d,number都没定义。后面有一句else if ((b*b - 4*a*c) >=0),是>=0,而不是>=o。在一个就是要注意你所定义的变量的作用域,是整个类,还是一个函数内,还是一个语句内(for语句等)。

int m = Math.pow(d,2); 你这个d变量没有定义
你得先double d = 0.0;

变量都没定义就使用了,当然就报错了。使用变量之前一定要先定义,要初始化,有时候定义了变量还报错,要看下它的作用域。

把所有关于初始化的内容全拿出switch吧,拿出去初始化了再在里面用

找不到符号一般是包没引进来,把Math包等相关的包引进来就OK,也有可能是JDK版本问题

switch(option)
{
case 1:
System.out.println("Please enter a:");
int a = StdIn.readInt();
System.out.println("Please enter b:");
int b = StdIn.readInt();
System.out.println("Please enter c:");
int c = StdIn.readInt();
break;
case 2:
System.out.println("Please enter x:");
int x = StdIn.readInt();
int m = Math.pow(d,2); //m和n是干什么用的???d也没有定义。。 。
int n = m + b*x + c ; //是不是