我正在努力理解声明和调用类的概念以及它们之间的变量流量。 在我现在的代码中我认为有几个问题,但现在的主要问题是main方法无法使用另一个方法的返回值,我相信我得到了其余的权利。 代码:
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
答案 0 :(得分: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()方法中声明的局部变量,这是不可能的。
答案 1 :(得分:1)
问题是在您的main方法中,您无法访问“retval”。 调用forekommer方法后,需要将结果分配给局部变量。 例如:
boolean someVarName =forekommer(c, tekst);
System.out.println(someVarName );
答案 2 :(得分:0)
在这里,您可以在这里完善一些答案并使代码编译并运行。
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);
}
}
答案 3 :(得分:-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;
}
}