1

クラスの宣言と呼び出しの概念、およびそれらの間の変数のトラフィックを理解するのに苦労しています。私が今持っているコードにはいくつかの問題があると思いますが、現在の主な問題は、メインメソッドが別のメソッドからの戻り値を使用できないことです.残りは正しいと思います. コード:

import java.util.*;
import java.io.*;

class Uke63{
    public static void main(String[]args){

        char c='t';
        String tekst="Jabba the Hutt var en stygg fyr";

        forekommer(c, tekst);

        System.out.println(retval.forekommer);

    }

    static boolean forekommer(char c, String tekst){

        boolean retval=tekst.contains(c);
        return retval;
    }
}

そして、コンパイルしようとするとエラーが発生します:(値が見つからないことがわかりますが、その特定の値を見つける方法について助けが必要です。)

makri@Marius-samlap:~/Programmering/Ukeoppgaver$ javac Uke63.java
Uke63.java:12: error: cannot find symbol
    System.out.println(retval.forekommer);
                       ^
  symbol:   variable retval
  location: class Uke63
Uke63.java:18: error: method contains in class String cannot be applied to given types;
    boolean retval=tekst.contains(c);
                        ^
  required: CharSequence
  found: char
  reason: actual argument char cannot be converted to CharSequence by method invocation conversion
2 errors
4

4 に答える 4

5

コードをこれに変更します

import java.util.*;
import java.io.*;

class Uke63{
    public static void main(String[]args){

    char c='t';
        String tekst="Jabba the Hutt var en stygg fyr";

    System.out.println(forekommer(c, tekst));

    }

    static boolean forekommer(char c, String tekst){

    boolean retval=tekst.contains(c);
    return retval;
    }
}

元のコードの問題: main の forekommer() メソッドで宣言されたローカル変数にアクセスしようとしていますが、これは不可能です。

于 2013-10-16T18:33:09.273 に答える
1

問題は、メイン メソッドで「retval」にアクセスできないことです。forekommer メソッドを呼び出した後、結果をローカル変数に割り当てる必要があります。例えば:

boolean someVarName =forekommer(c, tekst);
System.out.println(someVarName );
于 2013-10-16T18:43:36.900 に答える
-1
public class Basics {

    public static void main(String[] args) {
        CharSequence c = "t";
        String tekst="Jabba the Hutt var en stygg fyr";
        boolean x = forekommer(c, tekst);
        System.out.println(x);
    }

    static boolean forekommer(CharSequence c, String tekst){
        CharSequence x = c;
        boolean retval = tekst.contains(x);
        return retval;
    }

}
于 2016-12-13T18:34:05.290 に答える