[Array sang Vector]Nhập môn, nhập số học phần, nhập điểm.. tính Trung Bình Cộng

Viết Sang

Moderator
Mã:
[FONT="Courier New"]import java.lang.*;
import java.util.*;
class DiemTrungBinh 
{
	public static float nhapFloat0_10 (String thongDiep)
	{
		Scanner sc = new Scanner(System.in);
		System.out.println(thongDiep);
		float diem0_10 = sc.nextFloat();
		while (diem0_10<0 || diem0_10>10)
		{
			System.out.printf("Nhap sai diem, yeu cau nhap lai: ");
			diem0_10 = sc.nextFloat();
		}
		return diem0_10;
	}
	public static String nhapLine (String thongDiep)
	{
		Scanner sc= new Scanner(System.in);
		System.out.println(thongDiep);
		String s = sc.nextLine();
		return s;
		
	}
	public static int nhapiDuong(String thongDiep)
	{
		Scanner sc = new Scanner(System.in);
		System.out.println(thongDiep);
		int iDuong = sc.nextInt();
		while (iDuong<=0)
		{
			System.out.println("Nhap sai yeu cau nhap lai: ");
			iDuong=sc.nextInt();
		}
		return iDuong;
	}
	public static String[] nhapMangMonHoc (int smh)
	{
		String[] mang= new String[smh];
		for (int i = 0;i<smh ;i++ )
		{
			mang[i] = nhapLine("Mon hoc thu " + (i+1)+ " :");
		}
		return mang;
	}
	public static int[] nhapMangSoHocPhan (int shp)
	{
		int[] mang = new int[shp];
		for(int i = 0; i<shp; i++)
		{
			mang[i] = nhapiDuong("So hoc phan mon thu " + (i+1) + ": ");
		}
		return mang;
	}
	public static float [] nhapDiemMonHoc (int smh)
	{
		float[] mang = new float[smh];
		for (int i=0;i<smh ;i++ )
		{
			mang[i] = nhapFloat0_10("Diem mon hoc thu " + (i+1) + ":");
		}
		return mang;
	}
	public static void xuatBangDiem (String[] mangMonHoc, int[] mangHocPhan, float[] mangDiem)
	{
		for (int i=0;i<mangDiem.length;i++ )
		{
			System.out.println("Mon hoc:" + mangMonHoc[i]+ "\nSo hoc phan:" + mangHocPhan[i] + "\n" +mangDiem[i]+"\n");
		}
	}
	public static float tinhTrungBinhCong (float[] mangDiem, int[] mangHocPhan)
	{
		int tongHocPhan=0;
		float tongDiem=0;
		for (int i=0;i<mangDiem.length ;i++ )
		{
			tongHocPhan= tongHocPhan+ mangHocPhan[i];
			tongDiem = tongDiem + mangDiem[i]*mangHocPhan[i];
		}
		return tongDiem/tongHocPhan;
	}
	public static void xepLoai (float TBC)
	{
		if(TBC>=9)
		{
			System.out.println("Xep loai Xuat Sac");
		}
		if(TBC>=8 & TBC<9)
		{
			System.out.println("Xep loai Gioi");
		}
		if(TBC>=7 & TBC<8)
		{
		System.out.println("Xep loai Kha");
		}
		if(TBC>=6 & TBC<7)
		{
		System.out.println("Xep loai Trung Binh Kha");
		}
		if(TBC>=5 & TBC<6)
		{
		System.out.println("Xep loai Trung Binh");
		}
		if(TBC<5)
		{
			System.out.println("Xep loai Yeu");
		}
	}
	public static void main(String[] args) 
	{
		int n, hocphan[];
		String[] monhoc;
		float[] diem;
		n=nhapiDuong("Nhap so luong mon hoc: ");
		monhoc=nhapMangMonHoc(n);
		hocphan= nhapMangSoHocPhan(n);
		diem= nhapDiemMonHoc(n);
		xuatBangDiem(monhoc,hocphan,diem);
		System.out.println("Diem trung binh: "+ tinhTrungBinhCong(diem,hocphan));
		xepLoai(tinhTrungBinhCong(diem,hocphan));
	}
}[/FONT]
 

rcp

Administrator
mình-rcp sửa đổi một vài method, vs tự làm phần còn lại hen...



public static Vector<String> nhapMangMonHoc (int smh) {
Vector<String> mang= new Vector<String>(smh);
for (int i = 0;i<smh ;i++ ) {
mang.addElement(nhapLine("Mon hoc thu " + (i+1)+ " :"));
}
return mang;
}
public static Vector nhapDiemMonHoc (int smh) {
Vector mang= new Vector(smh);
for (int i=0; i<smh ; i++ ) {
mang.addElement(nhapFloat0_10("Diem mon hoc thu " + (i+1) + ":"));
}
return mang;
}
public static void xuatBangDiem (Vector<String> mangMonHoc, Vector mangHocPhan, Vector mangDiem) {
for (int i=0; i<mangDiem.size(); i++ ) {
System.out.println("Mon hoc:" + mangMonHoc.elementAt(i)+ "\nSo hoc phan:" + mangHocPhan.elementAt(i) + "\n" +mangDiem.elementAt(i)+"\n");
}
}

//
vs tự làm phần còn lại...

public static void main(String[] args) {
int n;
Vector hocphan;
Vector<String> monhoc;
Vector diem;

n = nhapiDuong("Nhap so luong mon hoc: ");
monhoc = nhapMangMonHoc(n);
hocphan = nhapMangSoHocPhan(n);
diem = nhapDiemMonHoc(n);
xuatBangDiem(monhoc,hocphan,diem);
System.out.println("Diem trung binh: "+ tinhTrungBinhCong(diem,hocphan));
xepLoai(tinhTrungBinhCong(diem,hocphan));
}
 

rcp

Administrator
1) Tại sao để mún chứa những String thì phải initialize như sau:
Vector<String> mang= new Vector<String>(smh);


2) Tại sao để mún chứa những int, float,..thì phải initialize như sau:
Vector mang= new Vector(smh);

hay:
Vector mang= new Vector();
3) Cái khác biệt giữa 2 initialized sau đây là gì?
Vector mang= new Vector(smh);
Vector mang= new Vector();


--- rcp ---
 
Sửa lần cuối:

Viết Sang

Moderator
1) Tại sao để mún chứa những String thì phải initialize như sau:
Vector<String> mang= new Vector<String>(smh);


2) Tại sao để mún chứa những int, float,..thì phải initialize như sau:
Vector mang= new Vector(smh);

hay:
Vector mang= new Vector();
3) Cái khác biệt giữa 2 initialized sau đây là gì?
Vector mang= new Vector(smh);
Vector mang= new Vector();


--- rcp ---

1. Lập trình Java yêu cầu phải gán giá trị của nó theo kiểu dữ liệu tham chiếunhư Integer, Float, String chuyển đổi từ kiểu dữ liệu này sang kiểu dữ liệu khác. (VS thấy chỉ gặp trường hợp Vector này thôi... và đặc biệt phải Ghi hoa các chữ cái đầu... VS có thắc mắc vì sao khi chạy một fuction kiểu String l và không có kiểu string như các kiểu int, float.. nhỉ?? ).

2. Theo VS được tiếp thu kiến thức thì trong các loại kiểu dữ liệu như int, float, char... là những kiểu giá trị nguyên thủy của Java.. nên Java có thể tự nhận biết được và không cần khai báo kiểu những kiểu dữ liệu "Tham chiếu".. còn String là một kiểu dữ liệu dạng đặc biệt như trên VS đã đề cập tới.. VS cũng không hiểu nguyên do vì chưa đi chuyên sâu hơn.

3. Vector <Tên biến> = new Vector (<giá trị đầu vào>)... Đây là cú pháp để nhập giá trị (bộ nhớ) vào Vector theo một số đã định sẵn trước
Vector < Tên biếb > = new Vector (<Không có giá trị đầu vào>)... Đây là cách khai báo mặc định của Java...
Khác giau nhữa .... new Vector (smh) (1)
new Vector () (2)
Với (1), ta có thể tự ý cấp phát bộ nhớ mà ta dự định trước sẽ cấp là bao nhiêu.. (ví dụ như 1 lớp ta dự toán lớp đó có 40 người chẳng hạn).
Với (2) ta chưa thể xác định được bộ nhớ là bao nhiêu.. và Java sẽ tự cấp phát cho nó một bộ nhớ bất kì và khi lập trình ta có thể tự tùy chỉnh số lượng của nó
 

rcp

Administrator
1. Lập trình Java yêu cầu phải gán giá trị của nó theo kiểu dữ liệu tham chiếunhư Integer, Float, String chuyển đổi từ kiểu dữ liệu này sang kiểu dữ liệu khác. (VS thấy chỉ gặp trường hợp Vector này thôi... và đặc biệt phải Ghi hoa các chữ cái đầu... VS có thắc mắc vì sao khi chạy một fuction kiểu String l và không có kiểu string như các kiểu int, float.. nhỉ?? ).

2. Theo VS được tiếp thu kiến thức thì trong các loại kiểu dữ liệu như int, float, char... là những kiểu giá trị nguyên thủy của Java.. nên Java có thể tự nhận biết được và không cần khai báo kiểu những kiểu dữ liệu "Tham chiếu".. còn String là một kiểu dữ liệu dạng đặc biệt như trên VS đã đề cập tới.. VS cũng không hiểu nguyên do vì chưa đi chuyên sâu hơn.

3. Vector <Tên biến> = new Vector (<giá trị đầu vào>)... Đây là cú pháp để nhập giá trị (bộ nhớ) vào Vector theo một số đã định sẵn trước
Vector < Tên biếb > = new Vector (<Không có giá trị đầu vào>)... Đây là cách khai báo mặc định của Java...
Khác giau nhữa .... new Vector (smh) (1)
new Vector () (2)
Với (1), ta có thể tự ý cấp phát bộ nhớ mà ta dự định trước sẽ cấp là bao nhiêu.. (ví dụ như 1 lớp ta dự toán lớp đó có 40 người chẳng hạn).
Với (2) ta chưa thể xác định được bộ nhớ là bao nhiêu.. và Java sẽ tự cấp phát cho nó một bộ nhớ bất kì và khi lập trình ta có thể tự tùy chỉnh số lượng của nó


Câu 2 và 3 VS trả lời rất đúng.

Riêng câu 1 mình-rcp xin giải thích như sau (mình-rcp khuyên các bạn nên xử dụng từ tiếng Anh ngõ hầu sau nì tham khảo sách tiếng Anh dễ hỉu hơn):

String là một Object.
Integer, Float là một Object.


Do đó khi initialize một Vector của một Object thì ta phải viết như sau:
Vector <Object> = new Vector <Object> ();
Vector <String> = new Vector <String> ();
Vector <Integer> = new Vector <Integer> ();
Vector <Float> = new Vector <Float> ();
--- rcp ---
 

Facebook Comment

Similar threads
Thread starter Tiêu đề Diễn đàn Trả lời Ngày
H Mẫu thiết kế phòng khách tân cổ điển sang trọng nhà biệt thự QUẢNG CÁO - RAO VẶT 0
mtrinhtrieuan Máy lạnh nối ống gió siêu sang trang bị cho nhà phố-biệt thự Máy móc - Thiết bị 0
T Ra mắt căn hộ cao cấp view biển The SANG Residence Đầu tư Đà Nẵng 0
C [Xã hội] Maria Ozawa sẽ sang VIệt Nam vào tháng 9 tới ? Tin tức 24h 0
vifotour [Du lịch] Những khách sạn sân bay sang trọng trên thế giới Tin tức 24h 0
C [Xã hội] Ngẩn ngơ xe sang, biển đẹp ở Đà Nẵng Tin tức 24h 0
C [Đà Nẵng] Các chuyến bay đến Huế sẽ chuyển sang Đà Nẵng Tin tức 24h 0
C Tuyển 100 điều dưỡng viên sang Đức - lương 55 triệu đồng/tháng Tin tức 24h 0
BNN [Marketing] Nhãn hiệu sang "xâm lấn" mạng xã hội Quảng bá thương hiệu 0
BNN [Đà Nẵng] Đà Nẵng cử cán bộ sang học Singapore Tin tức 24h 0
rcp [Việt Nam] Thủ tục sang tên xe ra sao? Tin tức 24h 2
BNN [Tin tức] Ngăn "nhà chồ hạng sang" mọc trên sông Hàn Dự án Đà Nẵng 1
rcp [Đà Nẵng] 9 người Trung Quốc sang Việt Nam buôn nội tạng lợn Tin tức 24h 1
T [Nhà Đất] Rèm cửa độc đáo, độc đáo vẫn rèm cửa hiện đại, rèm sang trọng... QUẢNG CÁO - RAO VẶT 49
saophuongdong Đà Nẵng: Nghiêm cấm sang nhượng chung cư xã hội Viết về Đà Nẵng 0
rcp [Sự kiện] Hai mươi xe sang dàn hàng đón... chó Tin tức 24h 1
K [PhimHD.Com.VN] Sang Phim HD Chuyên Nghiệp Với Kho Phim Số 1 Máy tính - Điện thoại 162
BNN Du lịch Đà Nẵng sang Nga Viết về Đà Nẵng 0
B Berbatov muốn “đào tẩu” sang Man City Tin tức 24h 0
BNN [Đà Nẵng] 400 cây anh đào Nhật Bản vượt biển sang Đà Nẵng Tin tức 24h 0
F Dịch diễn đàn sang tiếng anh Lời Khuyên Chung 0
truongloiman Chuyển file word, excel sang pdf Thủ thuật - Mẹo vặt 9
bachsa [Sổ tay] Chuyển từ quan sát sang thảo luận - Kỹ năng thương lượng - siêu thị sách online Thư viện - Sổ tay 0
Viết Sang Chuyện đời tôi.. ! - Viết sang Thơ 21
bachsa [Marketing] Mở rộng dòng sản phẩm sang những phân khúc thị trường mới - Kho sách online Marketing 0
bachsa Đà Nẵng: Chuyển từ Hộ kinh doanh cá thể sang công ty TNHH hai thành viên Xây dựng thương hiệu 0
F Tết đến xuân sang, chuẩn bị tết. Video chọn lọc 3
bachsa Google lấn sân sang ngành điện Tin tức 24h 0
bachsa Sẽ chuyển dữ liệu thuê bao trả trước sang cơ quan công an Tin tức 24h 0
Viết Sang Tự động dịch văn bản tiếng Anh sang tiếng Việt Các Tài Liệu Tham Khảo Khác 1
bimappk Chuyển các định dạng văn bản sang PDF trực tuyến Thủ thuật - Mẹo vặt 0
bimappk Chuyển mail từ tài khoản Gmail cũ sang tài khoản mới Thủ thuật - Mẹo vặt 0
kc3829 Bat_To_Exe_Converter- Compile file bat sang exe Thủ thuật - Mẹo vặt 0
kc3829 Vbs to exe- Complie file vbs sang exe Thủ thuật - Mẹo vặt 0
Kakalot Quy định về chuyển đổi trường ĐH Dân lập sang Tư thục ! Tin tức 24h 0
N C&T Cafe bar da chuyenchuyen sang 59 Hoàng Văn Thụ- Đà Nẵng Cà phê - ẩm thực 0
T Rau Đắng - "Đi chợ" giữa phường - Trần Nguyên Sang Tủ sách văn học 1
SongHan Chuyển nhanh nội dung văn bản Word sang PowerPoint Thủ thuật - Mẹo vặt 2
kidtino Cafe sang trọng lịch sự ( có wifi ) Đà Nẵng Cà phê - ẩm thực 8
G Bộ vector ngựa năm Giáp Ngọ 2014 dùng trong thiết kế Graphic - Design 1
G Bộ vector trang trí noel cực kỳ dễ thương cho những ai muốn làm nên 1 giáng sinh Graphic - Design 0
G Chia sẽ bộ Hoa văn trang trí vector cho anh em làm thiết kế. Kho download khác 7
D Vector Ông già Noel và các gói quà Graphic - Design 4
D Vector Cây thông Giáng Sinh Noel Christmas Graphic - Design 0
D Vector - Hoa văn màu xanh Graphic - Design 0
D Tổng hợp vector hoa đào Graphic - Design 1
D Vector - Mẫu thiết kế đồ họa hoa văn Graphic - Design 0
ritter_bin Fabulous 8 Vector PSD & AI Graphic - Design 0
ritter_bin Urban Style. Vector clipart #4 Graphic - Design 0
ritter_bin Vector Golden Flowers Graphic - Design 0

Similar threads

Top