Java错误-找不到符号-变量为

Java错误-找不到符号-变量为,java,variables,input,find,symbols,Java,Variables,Input,Find,Symbols,我试着做一个“快捷方式”到打印、打印和扫描仪。所以我创建了一个不同的类,这就是它所包含的内容: 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){

我试着做一个“快捷方式”到打印、打印和扫描仪。所以我创建了一个不同的类,这就是它所包含的内容:

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,因为我编写的打印需要一个字符串,而b和c只能是double和int,所以这不起作用。 是否有任何方法可以更改打印(scc.p和scc.pr),使其能够接收任何类型的参数?

此处:

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
等。使用这样的缩写会使代码很难阅读。

此处:

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
等等。使用这样的缩写会使代码很难阅读。

这是因为“是”“是一个方法,您正试图将其作为公共变量访问

尝试:

这是因为“is”是一个方法,您试图将其作为公共变量访问

尝试:

一致

String a=scc.is;
double b=scc.id;
缺少()项:

正确的woul dbe:

String a=scc.is();
double b=scc.id();
进一步提示:请删除捷径,代码的可读性较低

String a=scc.is;
double b=scc.id;
缺少()项:

正确的woul dbe:

String a=scc.is();
double b=scc.id();

进一步提示:请删除捷径,代码可读性较差。

()
缺失<代码>双b=scc.id应该是
double b=scc.id()
id
ii
是方法,而不是变量。这些注释应该是答案。一个好的评论应该是这样的:“为什么你想让你的代码这么难读?”这段代码的目的是什么?@Roman C-OP说,“我刚开始学习Java”
()
不见了<代码>双b=scc.id应该是
double b=scc.id()
id
ii
是方法,而不是变量。这些注释应该是答案。一个好的评论应该是这样的:“为什么你想让你的代码这么难读呢?”这段代码的目的是什么?@Roman C-OP说,“我刚开始学习Java”,实际上它比这还要多7377条谢谢你的回答!问题是,我遇到了另一个问题。。。请阅读我刚才写的额外部分。。。提前谢谢@user1857509:听起来你想让
print
重载
double
float
参数……嗯。。。。Java新手。。。超载?那是什么?我该怎么做?提前谢谢@用户1857509:在询问之前,您是否尝试过搜索?如果你是Java新手,你应该从一本书或结构良好的教程中学习——你看到关于重载的说法了吗?事实上,它比这多了7377条谢谢你的回答!问题是,我遇到了另一个问题。。。请阅读我刚才写的额外部分。。。提前谢谢@user1857509:听起来你想让
print
重载
double
float
参数……嗯。。。。Java新手。。。超载?那是什么?我该怎么做?提前谢谢@用户1857509:在询问之前,您是否尝试过搜索?如果您是Java新手,您应该从一本书或结构良好的教程中学习——您看到过关于重载的内容了吗?