2016-09-24 9 views
0
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。私はそれについて検索し、コードを通過しましたが、それを修正することができませんでした。シンボル例外が見つかりません

+0

エラーが発生している行には表示されませんか? q.test(c)についてはどうですか? ? –

+0

はいそれはq.test(c)関数の 'c'に表示されています。 –

+0

あなたは私に好意を持ってコードを入力してそれを私に見せることができますか?私はまだ少し混乱している –

答えて

1

オブジェクトcは、関数test()の範囲内にのみ存在します。ファンクションシグネチャには2つの引数(タイプintとタイプStringのいずれか)が必要ですが、これは提供されていないため、パラメータが1つのみのtest()を呼び出すとエラーになります。

関数に渡される値を上書きすると、引数を完全に削除し、関数内のローカル変数としてdsを宣言する方が良いでしょう。

public static void main(String args[]){ 

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

q.test(c);

まず最初のエラーが何も変化がないか、あなたのクラスタイムズcオブジェクト、だから、シンボルを見つけることができませんを示しています。

0

はあなたのタイムズクラスを考えてみましょう。方法test 2つの引数を取りますあなたは文字列にテストメソッドのreturn typeを作り、それを割り当てるタイムズクラスでcの値を取得したい場合は第二に、それは

test(String,int) 

のように呼ばれるべき

変数Timesクラスの変数

関連する問題