Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse建议更改代码。我必须如何以及在何处实例化导入类的对象?_Java_Eclipse_Static_Java.util.scanner - Fatal编程技术网

Java Eclipse建议更改代码。我必须如何以及在何处实例化导入类的对象?

Java Eclipse建议更改代码。我必须如何以及在何处实例化导入类的对象?,java,eclipse,static,java.util.scanner,Java,Eclipse,Static,Java.util.scanner,我正在用Java做一个简单的项目,这时发生了一件事,让我想到了Scanner类的使用,以及我们可以实例化这个类的对象的方式和位置 好的,Eclipse给了我一个关于如何以及在哪里实例化Scanner类的对象的建议 我将用一个非常奇怪的Hello World示例来说明: 这是我第一次做的形状: import java.util.Scanner; public class HelloWorld { public static void main(String[] args) {

我正在用Java做一个简单的项目,这时发生了一件事,让我想到了Scanner类的使用,以及我们可以实例化这个类的对象的方式和位置

好的,Eclipse给了我一个关于如何以及在哪里实例化Scanner类的对象的建议

我将用一个非常奇怪的Hello World示例来说明:

这是我第一次做的形状:

import java.util.Scanner;

public class HelloWorld {

        public static void main(String[] args) {

        Scanner input = new Scanner(System.in); // Object declared inside of main method, accessing the standard input stream.

        System.out.println("Type your name: ");
        String name = input.nextLine();
        System.out.printf("%s%s", "Hello World for you, ".concat(name), "\n");
        }
 }
然后,在Eclipse上,我有一个关于我的对象,
input
,类Scanner的实例的警报。作为解决方案,他给了我一个建议:

import java.util.Scanner;

public class HelloWorld {

        static Scanner input = new Scanner(System.in); // Object declared out of main of static form.

        public static void main(String[] args) {

        System.out.println("Type your name: ");
        String name = input.nextLine();
        System.out.printf("%s%s", "Hello World for you, ".concat(name), "\n");
        }
 }

我导入的类的实例,
out或insidemain方法
,最常见的方式是如何生成shape
static
或not。有人能告诉我们一些关于类扫描器和一般形式的最佳实践吗?

当扫描器在主方法之外声明时,它是一个类字段,否则它是一个局部变量。根据您是否只想在一个方法中使用您的对象(无需调用另一个带有scanner作为参数的方法)或使其可用于整个类,您应该将其声明为局部变量或类字段。

当scanner在主方法之外声明时,它是类字段,否则它是局部变量。根据您是否只想在一个方法中使用您的对象(无需调用另一个带有scanner作为参数的方法)或使其可用于整个类,您应该将其声明为局部变量或类字段。

当scanner在主方法之外声明时,它是类字段,否则它是局部变量。根据您是否只想在一个方法中使用您的对象(无需调用另一个带有scanner作为参数的方法)或使其可用于整个类,您应该将其声明为局部变量或类字段。

当scanner在主方法之外声明时,它是类字段,否则它是局部变量。根据您是否只想在一个方法中使用您的对象(无需调用另一个带有scanner作为参数的方法)或使其可用于整个类,您应该将其声明为局部变量或类字段。

使用您的示例,代码应该如下所示

import java.util.Scanner;

public class HelloWorld implements Runnable {

    Scanner input = new Scanner(System.in); 

    public static void main(String[] args) {
        HelloWorld helloWorld = new HelloWorld();
        helloWorld.run();
        helloWorld.close();
    }

    @Override
    public void run() {
        System.out.println("Type your name: ");
        String name = input.nextLine();
        System.out.printf("%s%s", "Hello World for you, " +
                "".concat(name), "\n");

    }

    public void close() {
        input.close();
    }
}
main()方法应该只实例化类并执行可运行的方法。如果需要进行任何args处理,可以在main方法中进行

处理应该在类方法中进行。我选择run(),因为它是我最常见的类设置

我有一个默认构造函数,它不传递任何参数

我将Scanner定义放在run方法之外,因为它在run方法和close方法中使用。大多数学生忘记了扫描仪的关闭,因此将关闭放在自己的方法中有助于记住使用它


如果扫描仪定义只在一种方法中使用,那么它应该在该方法中定义。

使用您的示例,代码应该如下所示

import java.util.Scanner;

public class HelloWorld implements Runnable {

    Scanner input = new Scanner(System.in); 

    public static void main(String[] args) {
        HelloWorld helloWorld = new HelloWorld();
        helloWorld.run();
        helloWorld.close();
    }

    @Override
    public void run() {
        System.out.println("Type your name: ");
        String name = input.nextLine();
        System.out.printf("%s%s", "Hello World for you, " +
                "".concat(name), "\n");

    }

    public void close() {
        input.close();
    }
}
main()方法应该只实例化类并执行可运行的方法。如果需要进行任何args处理,可以在main方法中进行

处理应该在类方法中进行。我选择run(),因为它是我最常见的类设置

我有一个默认构造函数,它不传递任何参数

我将Scanner定义放在run方法之外,因为它在run方法和close方法中使用。大多数学生忘记了扫描仪的关闭,因此将关闭放在自己的方法中有助于记住使用它


如果扫描仪定义只在一种方法中使用,那么它应该在该方法中定义。

使用您的示例,代码应该如下所示

import java.util.Scanner;

public class HelloWorld implements Runnable {

    Scanner input = new Scanner(System.in); 

    public static void main(String[] args) {
        HelloWorld helloWorld = new HelloWorld();
        helloWorld.run();
        helloWorld.close();
    }

    @Override
    public void run() {
        System.out.println("Type your name: ");
        String name = input.nextLine();
        System.out.printf("%s%s", "Hello World for you, " +
                "".concat(name), "\n");

    }

    public void close() {
        input.close();
    }
}
main()方法应该只实例化类并执行可运行的方法。如果需要进行任何args处理,可以在main方法中进行

处理应该在类方法中进行。我选择run(),因为它是我最常见的类设置

我有一个默认构造函数,它不传递任何参数

我将Scanner定义放在run方法之外,因为它在run方法和close方法中使用。大多数学生忘记了扫描仪的关闭,因此将关闭放在自己的方法中有助于记住使用它


如果扫描仪定义只在一种方法中使用,那么它应该在该方法中定义。

使用您的示例,代码应该如下所示

import java.util.Scanner;

public class HelloWorld implements Runnable {

    Scanner input = new Scanner(System.in); 

    public static void main(String[] args) {
        HelloWorld helloWorld = new HelloWorld();
        helloWorld.run();
        helloWorld.close();
    }

    @Override
    public void run() {
        System.out.println("Type your name: ");
        String name = input.nextLine();
        System.out.printf("%s%s", "Hello World for you, " +
                "".concat(name), "\n");

    }

    public void close() {
        input.close();
    }
}
main()方法应该只实例化类并执行可运行的方法。如果需要进行任何args处理,可以在main方法中进行

处理应该在类方法中进行。我选择run(),因为它是我最常见的类设置

我有一个默认构造函数,它不传递任何参数

我将Scanner定义放在run方法之外,因为它在run方法和close方法中使用。大多数学生忘记了扫描仪的关闭,因此将关闭放在自己的方法中有助于记住使用它


如果扫描仪定义仅在一种方法中使用,那么它应该在该方法中定义。

如果我再次对它感到好奇,我肯定会求助于你的答案。我希望保留您的有用信息。谢谢,Le Blanc先生。我一定会以你的回答来回答我的疑惑。我希望保留您的有用信息。谢谢,Le Blanc先生。我一定会以你的回答来回答我的疑惑。我希望保留您的有用信息。谢谢,Le Blanc先生。我一定会以你的回答来回答我的疑惑。我希望保留您的有用信息。谢谢,Le Blanc先生。