01/10/2018, 00:03
Em hỏi về scanner trong java ạ?
Em có một thắc mắc là sao em học thì khi tạo một đối tượng thuộc lớp scanner thì có thể viết : Scanner nhap = new Scanner(System.in);
>> code cụ thể em học:
public class Helloword {
public static void main(String[] args) {
String ten;
Scanner nhap = new Scanner(System.in);// tạo đối tượng thuộc lớn scanner
ten = nhap.next();// tạo một biến thuộc đối tượng nhập
// nextline() in ra cả dòng
// next() in nhưng phần tử nằm trước khoảng trắng
System.out.println("tên tôi là: " + ten);
}
}
nhưng khi viết lên thì chương trình báo lỗi và gọi ý viết lại thành:
package nguyenmanh;
import java.util.Scanner;
public class Helloword {
private static Scanner nhap;
public static void main(String[] args) {
String ten;
nhap = new Scanner(System.in);// tạo đối tượng thuộc lớn scanner
ten = nhap.next();// tạo một biến thuộc đối tượng nhập
// nextline() in ra cả dòng
// next() in nhưng phần tử nằm trước khoảng trắng
System.out.println("tên tôi là: " + ten);
}
}
Tức là thay vì khai báo Scanner nhap=new scanner(system.in); thì nó bắt có 1 cái private static Scanner nhap;
Bài liên quan
Do hàm main là static
nên nó yêu cầu các field muốn dùng được trong hàm static này cũng phải static theo.
Còn nếu ko thì bạn có thể làm như sau
Mình cũng không biết nhiều về java …
Bạn thay dòng ten = nhap.next();// tạo một biến thuộc đối tượng nhập
thành ten=nhap.nextLine();
thay dòng nhap = new Scanner(System.in);
thành Scanner nhấp=new Scanner(System.in);rồi thử lại
có lẽ ổn
mình đã thử nhưng chương trình toàn gợi í là phải có cái: private static Scanner nhap;
và dưới là: nhap = new Scanner(System.in);
Có gì khác nhau đâu
nhưng mà cái bên trên khi nhập vào nó báo lỗi
Nhét cái khai báo scanner xuống main là đc mà ^^