Bài tập về Class trong JAVA

Đề bài :


Code của em :

package bt;

import java.util.Scanner;

public class SanPham {
	  static String tenSP;
	  static double donGia;
	  static double giamGia;
	private double getThueThuNhap;
	public Scanner input;
	 void nhap() {
		input = new Scanner (System.in);
		System.out.print("\nNhap ten sp : ");
		tenSP=input.nextLine();
		System.out.print("\nNhap don gia : ");
		donGia=input.nextDouble();
		System.out.print("\nGiam gia :"+giamGia);
		giamGia=input.nextDouble();
	}
	public void xuat() {
		System.out.print("\nTen SP : "+tenSP);
		System.out.print("\nDon gia : "+donGia);
		System.out.print("\nThue thu nhap : "+(0.1*donGia));
		System.out.print("\nGiam gia : "+giamGia);
	}
	public SanPham(String tenSP, double donGia, double giamGia) {
		this.tenSP=tenSP;
		this.donGia=donGia;
		this.giamGia=giamGia;
	}
	public SanPham(String tenSP, double donGia) {
		this(tenSP,donGia,0);
	}
	public static void main(String[] args) {
		SanPham sp1=new SanPham(tenSP,donGia);
		sp1.nhap();
		SanPham sp2=new SanPham(tenSP,donGia,giamGia);
		sp2.nhap();
		
		System.out.print("Xuat thong tin : ");
		sp1.xuat();
		sp2.xuat();
	}

}

Theo yêu cầu của đề bài tạo 2 sản phẩm. Nhưng nhập vào 2 sản phẩm mà chỉ xuất ra sản phẩm thứ 2.
Đề bài yêu cầu có 1 sản phẩm ngầm hiểu không giảm giá nên sẽ không nhập giảm giá. Nhưng khi chạy thì luôn hiện 0.0 ở Giảm Giá.


Code em sai chỗ nào vậy ạ ? Anh/chị nào giúp em với. Em mới tập học java.
Cảm ơn nhiều ạ :grinning::grinning::grinning:

static String tenSP;
static double donGia;
static double giamGia;

sao lại là static nhở ? dùng biến thường thôi bác

3 Likes

Đọc sơ qua thì bạn sai ở static. Bạn hiểu từ khóa này có nghĩa gì mà dùng bừa bãi vậy?

4 Likes


Mình dùng biến thường nhưng nó lại báo lỗi như ảnh. Nên mới sủa theo gợi ý thêm static vào.

1 Like
SanPham sp = new SanPham("CoCaCoLa", 10000,10);

ví dụ thế cho bạn hiểu

5 Likes

topic này 1 bạn @Nguyen_Van_Minh_Tuan là Who am I?
bạn kia @Tony_Huynh đáp lại I am me
thế nên 2 bạn này làm việc với nhau là đủ dồi :smiling_face_with_three_hearts::smiling_face_with_three_hearts::smiling_face_with_three_hearts::smiling_face_with_three_hearts:

4 Likes

code của bạn về cơ bản là đúng nếu không nói bạn code bài toán sai ! .Kết quả compile những gi bạn code cho ra đúng nhưng do bạn ko tiếp tuc nhập nên bạn ko tháy những dòng tip theo :crazy_face:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?