30/09/2018, 18:46

In ra phép cộng 2 biến trong Java bị lỗi?

import java.util.Scanner;

public class CNhanVienSanXuat 
{
	private static int luongCanBan = 100000;
	private int soSanPham;
	Scanner input = new Scanner(System.in);
	
	public CNhanVienSanXuat() {}
	
	public void Nhap()
	{
		System.out.print("Nhap so san pham lam duoc: ");
		soSanPham = input.nextInt();
	}
	
	int luong = luongCanBan + soSanPham*5000;

	public void Xuat()
	{
		System.out.println("Luong: " + luong + "VND");
	}
}

Hàm main

import nhanVien.CNhanVienSanXuat;

public class Main 
{
	public static void main(String[] args)
	{
		CNhanVienSanXuat SX = new CNhanVienSanXuat();
		SX.Nhap();
		SX.Xuat();
	}
}

Mình có class Nhân viên sản xuất để tính tiền lương cho nhân viên, nhưng hàm print in ra chỉ in ra số tiền của luongCanBan là 1000000, nhưng khi mình đưa phép tính cộng vào trong hàm print (System.out.println("Luong: " + luongCanBan + soSanPham*5000 + "VND");) thì kết quả giống như là cộng 2 String lại với nhau vậy ạ.
Ví dụ mình nhập soSanPham là 21 thì:
System.out.println("Luong: " + luongCanBan + soSanPham*5000 + "VND"); //100000105000VND
System.out.println("Luong: " + luong + "VND"); //100000VND

Các bạn giúp mình giải thích lỗi và cho mình hướng giải quyết với ạ cảm ơn mọi người

Tôi là tôi viết 20:46 ngày 30/09/2018

System.out.println("Luong: " + luongCanBan + soSanPham*5000 + “VND”);

sửa thành
System.out.println("Luong: " +( luongCanBan + soSanPham*5000) + “VND”);
Bạn thử xem

Trần Đức Toàn viết 20:59 ngày 30/09/2018

Bạn nên đọc lại java cơ bản. Các phép + trong ‘printf’ nó đã ép kiểu dữ liệu thành String ( cụ thể đây là luongCanBansoSanPham từ int sang String
Muốn có kết quả như ý muốn thì bạn thêm dâu() vào nữa
System.out.println("Luong: " + ( luongCanBan + soSanPham*5000) + "VND");

Bài liên quan
0