我试图为print,println和扫描仪制作一个“快捷方式”。所以我创建了一个不同的类,这就是它所拥有的类:
import java.util.*;
public class ShortCutClass {
Scanner input = new Scanner(System.in);
public void p (String text){
System.out.print (text);
}
public void pl (String text){
System.out.println (text);
}
public String is (){
String a= input.nextLine();
return a;
}
public double id (){
double b= input.nextDouble();
return b;
}
public int ii (){
int c= input.nextInt();
return c;
}
}
所以,我尝试检查它是否有效 - 使用它:
import java.util.*;
class ShortcutTest{
Scanner input = new Scanner(System.in);
public static void main(String args[]){
ShortCutClass scc = new ShortCutClass();
scc.pl("So ummmm... How ya doin?");
scc.p("Connected1 ");
scc.p("Connected2 ");
String a=scc.is;
double b=scc.id;
int c=scc.ii;
scc.pl (a);
scc.pl (b);
scc.pl (c);
}
}
它给了我以下错误: “找不到符号变量
我做错了什么? 我该如何解决这个问题?
***编辑:
我修好了,遇到了另一个问题...... 我无法打印出b或c,因为我写的打印需要一个String,而b和c只能是double和int,所以这不起作用。 是否有任何方法可以更改打印(scc.p和scc.pr),以便它能够接收任何类型的参数?
答案 0 :(得分:3)
下面:
String a=scc.is;
double b=scc.id;
int c=scc.ii;
...您正在尝试引用方法,就像它们是变量一样。你需要调用方法:
String a=scc.is();
double b=scc.id();
int c=scc.ii();
作为旁注,我会强烈阻止你开始做所有这些。即使你想要一个方便课程,请给出方法合理的名称 - writeInt
,readInt
等。使用这样的缩写使得代码很难阅读。
答案 1 :(得分:1)
多数民众赞成因为“是”是一种方法,并且您试图将其作为公共变量进行访问。
尝试:
String a = scc.is();
答案 2 :(得分:0)
排队
String a=scc.is;
double b=scc.id;
缺少():
正确的勇气dbe:
String a=scc.is();
double b=scc.id();
进一步提示:请删除捷径,该代码不太可读