找不到符号异常

时间:2016-09-24 06:23:03

标签: java

import java.util.Scanner;
class Question1{
    void test(String s, int d){

        Scanner in = new Scanner(System.in);

        System.out.println("Enter a String");
        s = in.nextLine();
        System.out.println("Enter an Integer");
        d = in.nextInt();

        String c="";

        for(int i=0;i<d;i++){
             c = c + s;
        }
    }
}
class Times{
     public static void main(String args[]){

          Question1 q= new Question1();
          q.test(c);
     }
}

这是我的整个代码,它显示编译时错误:Cannot find symbol c。我已经搜索了它并通过了代码,但无法修复它。

2 个答案:

答案 0 :(得分:1)

对象c仅存在于函数test()的范围内。仅使用一个参数调用test()也会导致错误,因为您的函数签名需要两个参数(一个类型为int,另一个类型为String),但未提供。 / p>

假设您覆盖了传递给函数的值,最好完全删除参数,而是将ds声明为函数内的局部变量。

答案 1 :(得分:0)

考虑你的时代课程:

public static void main(String args[]){

          Question1 q= new Question1();
          q.test(c);
     }
  

q.test(c);

第一件事错误是你的班级里面没有变量或对象c,所以它显示找不到符号。

其次,方法test将采用两个参数,它应该被称为

test(String,int)

如果要在Times Class中获取c的值,请将test {的return type变为string并将其分配给Times Class中的变量