2

我最近一直在练习一些Java。我在一类和另一类中制作了一个随机键盘,称为表单。

我设法从另一个类中添加了键盘方法。

但是当我尝试添加文本( System.out.println("text"); )时,它不会允许我,如果我在外部包装器中添加它,它将不会显示。

键盘类:

import java.util.Scanner;

class Keyboard {
   public static void main(String args[]){
      System.out.print("Enter your name... ");
      Scanner sc = new Scanner(System.in);
      System.out.println("Your name is " + sc.nextLine());

   }
}

FillInForm 类问题 1:

public class FillInForm {


    Keyboard j = new Keyboard();
    System.out.println("text"); <-------------- doesn't allow me. Why?


}

FillInForm 类问题 2:

public class FillInForm {


    Keyboard j = new Keyboard();
{
        System.out.println("text");  <---------Also doesn't work. Why?
    }
}

这只是为了练习,类和方法不必有意义。随手做的。我只想知道为什么我不能在名为“FillInForm”的类中显示文本。

我知道这个问题很简单,但是有人可以帮我吗?谢谢。

4

3 回答 3

2

将语句放在方法而不是类块中。作为声明,Keyboard声明可以存在于类块中,但不能存在于println语句中:

public class FillInForm {

    Keyboard j = new Keyboard();

    public void myMethod() {
       System.out.println("text");
   }
}

对于问题 2。问题与您再次尝试在类块中放置非声明性语句相同。

鉴于输入功能是类的static主要方法,Keyboard最好将此功能移至 中的main方法FillInForm,除非您希望KeyBoard用作类的包装器Scanner。如果是后者,您可以创建一个实例方法来访问Scanner#nextLine.

于 2013-02-10T19:31:49.777 回答
0

代码必须是方法的一部分,最后两段代码不是这种情况。

于 2013-02-10T19:31:55.073 回答
0

代码必须是方法的一部分。并且您需要向一个类添加一个主要方法:

public class FillInForm {

... other methods ...

  public static void main(String[] args) { // static means, this method does not belong to an instance of the class, it belongs to the class itself
    Keyboard j = new Keyboard();
    System.out.println("text"); 

};
}

main 方法是你的应用程序的入口点,它在你的应用程序启动时自动调用

于 2013-02-10T19:34:04.067 回答