Java Error-找不到符号 - 变量是

时间:2012-11-27 18:48:46

标签: java variables input find symbols

我试图为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),以便它能够接收任何类型的参数?

3 个答案:

答案 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();

作为旁注,我会强烈阻止你开始做所有这些。即使你想要一个方便课程,请给出方法合理的名称 - writeIntreadInt等。使用这样的缩写使得代码很难阅读。

答案 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();

进一步提示:请删除捷径,该代码不太可读