今天在和基友讨论关于Scanner类是否可以放在其他类中的问题,整理如下,首先我们看第一个例子:
package tv.zhangjia.tv;
import java.util.Scanner;
public class A {
public static void main(String[] args) {
B b = new B();
b.print();
}
}
class B {
Scanner input = new Scanner(System.in);
int b = input.nextInt();
public void print() {
System.out.println("b = " + b);
}
}
输入:
6
输出:
b = 6
说明在Scanner类是可以放在任何类中的,并不是必须放在main方法中
另外还有一种方法,可以将Scanner类的对象,传入其他类中,同样可以实现输入
package tv.zhangjia.tv;
import java.util.Scanner;
public class HashSetDemo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入b:");
int b = input.nextInt();
System.out.println("b = " + b);
A a = new A();
a.input(input);
a.print();
}
}
class A {
private Scanner scanner;
private int c ;
void input(Scanner scanner) {
this.scanner = scanner;
System.out.println("请输入C:");
c = scanner.nextInt();
}
void print() {
System.out.println("c = " + c);
}
}
输出:
请输入b:
5
b = 5
请输入C:
6
c = 6