2012-11-27 25 views
1

我试图做一个“捷径”的打印,的println和扫描仪。所以,我创建了一个不同的类,而这正是它在它:Java的错误 - 无法找到符号 - 变量是

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只能是双和INT,这样就不会工作。 有没有更改打印(scc.p和scc.pr)的方法,以便它能够接收任何类型的参数?

+0

'()'丢失。 'double b = scc.id;'应该是'double b = scc.id();'。 –

+0

'is','id'和'ii'是方法,而不是变量。 – Lion

+1

这些评论应该是真正的答案。好评如下:“为什么你会想让你的代码难以阅读?” –

回答

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等使用的缩写这样使得代码非常难读。

+0

+1.5百万代表。 –

+0

实际上它比7377更多。 ;) –

+0

谢谢你的回答! 事情是,我遇到了另一个问题...请阅读我刚刚写到的额外部分...谢谢你! – user1857509

1

那是因为“是”是方法,您试图访问它作为一个公共变量。

尝试:

String a = scc.is(); 
0

在行

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

的()是缺少:

正确竟被DBE:

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

而且蒂普:请取下短削减,该代码是不太重要的adable

相关问题