30/09/2018, 21:22

Xin các chữa lỗi chương trình: Xây dựng class bai1th3 gồm hai member data là: Name và Salary. Class bai1th3 cung cấp các member function cho phép nhập và hiển thị hai member data trên

E đang tập viết chương trình: Xây dựng class bai1th3 gồm hai member data là: Name và Salary. Class bai1th3 cung cấp các member function cho phép nhập và hiển thị hai member data trên.
E viết chương trình nhưng sau khi nhập số lượng cho bai1th3 thì chương trình lại báo lỗi.
Các anh/chị cho e hỏi cần sửa lỗi thế nào?

import java.util.Scanner;
public class bai1th3 {
	private String name;
	private float salary;
	private static int n;
	static Scanner sc=new Scanner(System.in);
	public static void main(String[] args) {
		bai1th3[] A=new bai1th3[100];
		System.out.println("nhap n: ");
		n=sc.nextInt();
		for(int i=1;i<=n;i++){
			A[i].input();
		}
		for(int i=1;i<=n;i++){
			A[i].output();
		}
	}

	public void input(){
		System.out.println("nhap ten: ");
		name= sc.nextLine();
		System.out.println("nhap luong: ");
		salary=sc.nextFloat();
	}
	
	public void output(){
		System.out.print(name+"	"+salary+"
");
	}
}
Gió viết 23:28 ngày 30/09/2018

Lỗi ở đây chắc là do bạn mới cấp bộ nhớ cho mảng nhưng mỗi phần tử A[i]=null vì thế trước câu nhập, cần tạo A[i]=new bt…()

Son Hoang Kim viết 23:37 ngày 30/09/2018

Cảm ơn bạn,mình sửa được rồi

Son Hoang Kim viết 23:28 ngày 30/09/2018

Bạn ơi cho mình hỏi tại sao sau khi chạy xong thì chương trình của mình chỉ in ra salary mà k hiện tên vậy?

nguyen huy hoang viết 23:38 ngày 30/09/2018

lạ nhỉ, trong hàm out của bạn có in ra tên mà, nếu không hiện tức là tên vẫn mang giá trị rỗng, có thể là do hiện tượng trôi dòng lệnh hay gì đó…

Quân viết 23:30 ngày 30/09/2018

Nextline ngay sau khi Next các giá trị khác mà không reset sẽ nhận vào là dấu enter luôn, nên sẽ k thấy gì

Bài liên quan
0