Main content:
Basic skills for working with data
How to use Java classes for working with data types
The formatted Invoice application
How to use the BigDecimal class
--------------
1. Basic skills for working with data:
- Định nghĩa biến: định nghĩa và khởi tạo giá trị
- Định nghĩa hằng:
- Các toán tử:
+, -, *, /, %, ++, --,
=, +=, -=, *=, /=, %=
- Ép kiểu: ép kiểu gầm và ép tường minh
+ ép kiểu gầm: ...
Hợp lệ:
Không hợp lệ:
+ ép tường minh: ...
2. How to use Java classes for working with data types:
- Sử dụng class NumberFormat để định dạng khi in các giá trị.
import java.text.NumberFormat;
- Tạo đối tượng NumberFormat:
NumberFormat currency = NumberFormat.getCurrencyInstance(Locale.US);//định dạngtiền tệ
NumberFormat percent = NumberFormat.getPercentInstance(); //Định dạng phần trăm
- In:
double total = 123;
double passed = 0.15;
System.out.println(currency.format(total));
System.out.print(percent.format(passed));
Kết quả:
- Sử dụng lớp Math:
import java.lang.Math;
Một số hàm:
Ví dụ:
- Sử dụng lớp Integer và Double:
3. The formatted Invoice application:
4. How to use the BigDecimal và BigInteger class:
Ví dụ 1:
Ví dụ 2:
Bài tập:
1. Viết chương trình nhập vào một chuỗi và đảo chuỗi đó:
Ví dụ: nhập str="hello" in ra "olleh"
Bài giải:
2. Viết chương trình tính tổng các chữ số của số n nhập vào từ bàn phím.
Ví dụ: nhập n = 12345 in ra kết quả tổng các chữ số bằng 15
Bài giải:
3. Viết chương trình sinh ra ngẫu nhiên n số tự nhiên khác nhau từng đôi một từ 0 đến n - 1.
Ví dụ: nhập n = 10, kết quả in ra: 9, 5, 3, 7, 1, 8, 6, 2, 0, 4
Gợi ý: import java.util.Random;
Sử dụng hàm Random random = new Random(); và random.nextInt(n ) để sinh ra số tự nhiên từ 0 tới n.
Bài giải:
4. Viết chương trình cộng hai số nguyên lớn (Hai chuỗi số). Không sử dụng tất cả lớp có sẵn trong java.
Ví dụ: nhập s1 = "123456789101112"
s2 = "13"
--> in kết quả: "123456789101125"
Bài giải:
5.
Basic skills for working with data
How to use Java classes for working with data types
The formatted Invoice application
How to use the BigDecimal class
--------------
1. Basic skills for working with data:
- Định nghĩa biến: định nghĩa và khởi tạo giá trị
- Định nghĩa hằng:
- Các toán tử:
+, -, *, /, %, ++, --,
=, +=, -=, *=, /=, %=
- Ép kiểu: ép kiểu gầm và ép tường minh
+ ép kiểu gầm: ...
Hợp lệ:
double d;
int c = 12345678;
d = c;
Không hợp lệ:
int a;
double b = 30000000;
a = b;//ép ngầm không hợp lệ nhưng nếu ghi a = ( int) b; là hợp lệ
+ ép tường minh: ...
2. How to use Java classes for working with data types:
- Sử dụng class NumberFormat để định dạng khi in các giá trị.
import java.text.NumberFormat;
- Tạo đối tượng NumberFormat:
NumberFormat currency = NumberFormat.getCurrencyInstance(Locale.US);//định dạngtiền tệ
NumberFormat percent = NumberFormat.getPercentInstance(); //Định dạng phần trăm
- In:
double total = 123;
double passed = 0.15;
System.out.println(currency.format(total));
System.out.print(percent.format(passed));
Kết quả:
- Sử dụng lớp Math:
import java.lang.Math;
Một số hàm:
Ví dụ:
- Sử dụng lớp Integer và Double:
3. The formatted Invoice application:
4. How to use the BigDecimal và BigInteger class:
Ví dụ 1:
import java.math.BigDecimal;
public class Main {
public static void main(String[] argv) throws Exception {
BigDecimal bd1 = new BigDecimal("123456789.0123456890");
// Create via a long
BigDecimal bd2 = BigDecimal.valueOf(123L);
bd1 = bd1.multiply(bd2);
System.out.println(bd1);
}
}
import java.math.*;
public class Big_Integer {
public static void main(String[] args)
{
BigInteger a = new BigInteger("12345679");
BigInteger b = new BigInteger("9");
BigInteger c = a.multiply(b);
System.out.println("Result:
" +
c);
}
}
Bài tập:
1. Viết chương trình nhập vào một chuỗi và đảo chuỗi đó:
Ví dụ: nhập str="hello" in ra "olleh"
Bài giải:
import java.util.Scanner;
public class DaoChuoi {
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("nhap vao
chuoi str = ");
String str = scan.nextLine();
System.out.print(DaoChuoi(str));
}
public static String DaoChuoi(String
str)
{
String str_daochuoi = "";
for(int i = str.length()-1;
i >= 0; i--) {
str_daochuoi +=
str.charAt(i);
}
return str_daochuoi;
}
}
2. Viết chương trình tính tổng các chữ số của số n nhập vào từ bàn phím.
Ví dụ: nhập n = 12345 in ra kết quả tổng các chữ số bằng 15
Bài giải:
import java.util.Scanner;
public class TongChuSo {
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.print("Nhap n =
");
int n =
scanner.nextInt();
System.out.println(TongChuSo(n));
}
public static int TongChuSo(int n)
{
int kq = 0;
while (n > 0)
{
kq += n % 10;
n = n / 10;
}
return kq;
}
}
3. Viết chương trình sinh ra ngẫu nhiên n số tự nhiên khác nhau từng đôi một từ 0 đến n - 1.
Ví dụ: nhập n = 10, kết quả in ra: 9, 5, 3, 7, 1, 8, 6, 2, 0, 4
Gợi ý: import java.util.Random;
Bài giải:
import java.util.Scanner;
import java.util.Random;
public class MangNgauNhien {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Nhập n =
");
int n = input.nextInt();
int a[] = new int[n];//Khởi tạo mảng
for (int i = 0; i < n;
i++) {
a[i] = i;
}
Random random = new Random();
//Xáo trộn mảng
for(int i = 0; i < n;
i++) {
int x = random.nextInt(n
- i);
int temp = a[x];
a[x] = a[n - i - 1];
a[n - i - 1] = temp;
}
//In mảng
for(int i = 0; i < n;
i++) {
System.out.print(a[i] + ", ");
}
}
}
4. Viết chương trình cộng hai số nguyên lớn (Hai chuỗi số). Không sử dụng tất cả lớp có sẵn trong java.
Ví dụ: nhập s1 = "123456789101112"
s2 = "13"
--> in kết quả: "123456789101125"
Bài giải:
5.