簡體   English   中英

如何從同一類的另一個方法中調用變量,以及如何調用該方法?

[英]How do I call for variables from another method in same class, as well as call upon the method?

我正在努力理解聲明和調用類的概念以及它們之間的變量通信。 在我現在擁有的代碼中,我相信有幾個問題,但是現在的主要問題是主方法無法使用另一種方法返回的值,我相信其余部分都正確。 編碼:

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

修改您的代碼為此

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()方法中聲明的局部變量。

問題是在您的主要方法中,您無權訪問“ retval”。 調用前叉方法之后,需要將結果分配給局部變量。 例如:

boolean someVarName =forekommer(c, tekst);
System.out.println(someVarName );

在這里,您可以細化這里的一些答案,並使代碼得以編譯和運行。

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

    private static boolean forekommer(CharSequence c, String tekst){
        return  tekst.contains(c);
    }
}
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;
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM