TH Java
TH Java
Câu1……………………………………………………………………………………………… 2
Câu 2………………………………………………………………………………………………6
Câu 3…………………………………………………………………………………………… 11
Câu 4……………………………………………………………………………………………..16
Câu 1……………………………………………………………………………………………21
Câu 2……………………………………………………………………………………………23
Câu 3……………………………………………………………………………………………24
Câu 4……………………………………………………………………………………………25
Câu 6……………………………………………………………………………………………27
Câu 7……………………………………………………………………………………………38
Câu 9……………………………………………………………………………………………30
Câu 10……………………………………………………………………………………………34
Câu 11……………………………………………………………………………………………35
Câu 12……………………………………………………………………………………………
Câu 13……………………………………………………………………………………………36
Câu 14……………………………………………………………………………………………37
Câu 15……………………………………………………………………………………………40
Câu 16……………………………………………………………………………………………46
Câu 18……………………………………………………………………………………………49
Câu 19……………………………………………………………………………………………50
Câu 20……………………………………………………………………………………………52
Câu 21……………………………………………………………………………………………54
Câu 22……………………………………………………………………………………………55
1
Câu 23……………………………………………………………………………………………58
Câu 24……………………………………………………………………………………………60
Câu 25……………………………………………………………………………………………62
Câu 26……………………………………………………………………………………………63
Câu 27……………………………………………………………………………………………65
Câu 28……………………………………………………………………………………………67
Câu 29……………………………………………………………………………………………72
Câu 30……………………………………………………………………………………………74
Câu 31……………………………………………………………………………………………76
Câu 32……………………………………………………………………………………………80
Câu 33……………………………………………………………………………………………85
Câu 34……………………………………………………………………………………………89
Câu 35……………………………………………………………………………………………93
Câu 36……………………………………………………………………………………………95
Câu 37……………………………………………………………………………………………96
Câu 38……………………………………………………………………………………………97
Câu 1
package demo;
import java.util.Scanner;
2
while(key!=0){
key = input.nextInt();
switch(key){
case 1:
n=input.nextInt();
break;
case 2:
break;
case 3:
int res=1;
break;
case 4:
int res4=0;
3
break;
case 5:
int res5=0;
System.out.println(res5);
break;
case 6:
if(laNguyenTo(i)){
System.out.print(i+" ");
System.out.println();
break;
case 7:
System.out.print("0 1 1 ");
tmp=k;
k=k+j;
j=tmp;
System.out.print(k+" ");
System.out.println();
break;
4
case 8:
while(m>0){
tong = tong + i;
System.out.println(tong);
break;
case 9:
if(n%i==0){
if(n%can==0) System.out.println(can);
5
if(i%j==0) return false;
return true;
Câu 2
Bai 2:
package demo;
import java.util.Scanner;
MN mn = null;
int a = 0, b = 0;
while (true) {
6
switch (test) {
case 1:
System.out.println("m = ");
a = input.nextInt();
System.out.println("n = ");
b = input.nextInt();
break;
case 2:
break;
case 3:
mn.soNT();
break;
case 4:
System.out.println(mn.m+" "+mn.n);
mn.soTN();
break;
7
case 0:
System.exit(0);
break;
default:
package demo;
public class MN {
public int m, n;
this.m = m;
this.n = n;
int m1 = m, n1 = n;
8
while (m1 != n1) {
m1 -= n1;
} else {
n1 -= m1;
return m1;
return (m * n) / UCLN();
if (n < 2) {
return false;
if (n % i == 0) {
return false;
return true;
9
public void soNT() {
if (m > n) {
if (laNT(i)) {
System.out.println("");
} else {
if (laNT(i)) {
System.out.println("");
if (m > n) {
if (isTN(i)) {
10
}
System.out.println("");
} else {
if (isTN(i)) {
System.out.println("");
int num = 0;
int n2 = n;
while (n > 0) {
int m = n % 10;
num = num * 10 + m;
n = n / 10;
return n2 == num;
Câu 3
Bai 3:
11
package demo;
import java.util.Scanner;
double a = 0, b = 0, c = 0;
while (true) {
System.out.println("6. Tinh chu vi, dien tich hinh hop chu nhat");
System.out.println("0. Thoat");
switch (test) {
case 1:
System.out.print("a = ");
a = (new Scanner(System.in)).nextDouble();
12
System.out.print(" b = ");
b = (new Scanner(System.in)).nextDouble();
System.out.print(" c = ");
c = (new Scanner(System.in)).nextDouble();
break;
case 2:
abc.timNghiem(a, b, c);
break;
case 3:
abc.dienTich(a, b, c);
break;
case 4:
break;
case 5:
break;
case 6:
abc.dtHinhHop(a, b, c);
break;
case 0:
System.exit(0);
break;
default:
13
}
package demo;
if (a == 0) {
if (b == 0) {
System.out.println("Vo nghiem");
} else {
} else {
if (delta < 0) {
System.out.println("Vo nghiem");
} else if (delta == 0) {
} else {
14
System.out.println("Hai nghiem: x1 = " + ((-b) + Math.sqrt(delta)) / (2 * a) + " x2 = "
return false;
} else {
return false;
} else {
return true;
if (!isTamGiac(a, b, c)) {
} else {
15
}
System.out.println("Canh am");
} else {
double dt = 2 * a * b + 2 * a * c + 2 * b * c;
Câu 4
Bai 4:
package demo;
import java.util.Scanner;
while (true) {
16
System.out.println("1. Nhap vao day so nguyen");
System.out.println("0. Thoat");
switch (selected) {
case 1:
arr.init();
break;
case 2:
break;
case 3:
break;
case 4:
break;
17
case 5:
arr.soNT();
break;
case 0:
System.exit(0);
break;
default:
package demo;
import java.util.Scanner;
public Array(int n) {
18
arr = new int[n];
arr[i] = input.nextInt();
int s = 0;
s += arr[i];
return s;
19
if (max < x) {
max = x;
return max;
if (min > x) {
min = x;
return min;
if (x < 2) {
return false;
if (x % i == 0) {
return false;
20
}
return true;
if (isNT(x)) {
System.out.println("");
Câu 1
Bai 1: Viet chuong trinh tim UCLN, BCNN cua a, b
package demo;
import java.util.Scanner;
21
Scanner input = new Scanner(System.in);
System.out.println("Nhap a: ");
int a = input.nextInt();
System.out.println("Nhap b: ");
int b = input.nextInt();
if (a == b) {
return a;
} else {
if (a > b) {
} else {
22
Câu 2
Bai 2: Viet chuong trinh tinh tong cac chu so cua mot so nguyen
package demo;
import java.util.Scanner;
int n = input.nextInt();
int sum = 0;
while (n > 0) {
int d = n % 10;
sum += d;
n = n / 10;
return sum;
23
Câu 3
Bai 3: Viet chuong trinh phan tich mot so nguyen thanh cac thua so nguyen to
package demo;
import java.util.Scanner;
int n = input.nextInt();
thuaSo(n);
if (isNT(n)) {
System.out.println(n);
} else {
if (isNT(i)) {
if (n % i == 0) {
thuaSo(n / i);
break;
24
}
if (n < 2) {
return false;
} else {
if (n % i == 0) {
return false;
return true;
Câu 4
Bai 4: Viet chuong trinh liet ke tat ca cac so nguyen to nho hon n
package demo;
import java.util.Scanner;
25
public class Test {
int n = input.nextInt();
list(n);
if (isNT(i)) {
System.out.println();
if (n < 2) {
return false;
} else {
if (n % i == 0) {
26
return false;
return true;
Câu 6
Bai 6: Viet chuong trinh tim so fibonacci thu n
package demo;
import java.util.Scanner;
int n = scan.nextInt();
double f1 = 1, f0 = 1;
double tmp = 1;
27
int i = 1;
while (i < n) {
tmp = f0 + f1;
f0 = f1;
f1 = tmp;
i++;
return tmp;
Câu 7
Bai 7: Viet chuong trinh liet ke cac so nguyen to co 5 chu so co tong cac chu so bang s
package demo;
import java.util.Scanner;
int s = scan.nextInt();
sumEqualsS(s);
28
public static void sumEqualsS(int s) {
System.out.println();
if (n < 2) {
return false;
} else {
if (n % i == 0) {
return false;
return true;
if (n < 10) {
29
return n;
int s = 0;
while (n > 0) {
s += n % 10;
n = n / 10;
return s;
Câu 9
package demo;
import java.util.Scanner;
while (true) {
30
System.out.println("0. Thoat");
int n = input.nextInt();
if (n == 0) {
break;
} else if (n == 1) {
System.out.print("n = ");
int n2 = input.nextInt();
} else if (n == 2) {
num.list();
} else if (n == 3) {
num.listNT();
} else {
package demo;
31
private int n;
public Number(int n) {
this.n = n;
int s = 0;
if (n % i == 0) {
if (i != (n / i)) {
s += 2;
} else {
s++;
System.out.println();
32
public void listNT() {
if (n % i == 0) {
if (i != (n / i)) {
if (isNT(i)) {
if (isNT(n / i)) {
} else {
if (isNT(i)) {
System.out.println();
if (n < 2) {
return false;
} else {
33
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
return true;
Câu 10
package demo;
import java.util.Scanner;
double e = input.nextDouble();
34
int i = 0;
double s = 0;
i++;
return 4 * s;
Câu 11
package demo;
import java.util.Scanner;
System.out.print("Nhap x = ");
double x = input.nextDouble();
double s = 0;
35
int i = 0;
i++;
return s;
if (n == 0 || n == 1) {
return 1;
Câu 13:
Cau 13:
package demo;
36
System.out.println();
return str.equals(str2);
Câu 14:
package demo;
import java.util.Scanner;
int tu = input.nextInt();
37
System.out.println("Nhap phan so thu hai: ");
tu = input.nextInt();
mau = input.nextInt();
p1.cong(p2);
p1.tru(p2);
p1.nhan(p2);
p1.chia(p2);
package demo;
this.tu = tu;
this.mau = mau;
38
}
return tu;
return mau;
} else {
return tu2;
int u = UCLN();
tu = tu / u;
39
mau = mau / u;
tong.toiGian();
hieu.toiGian();
Câu 15:
package demo;
import java.util.Scanner;
40
public static void main(String[] args) {
while (true) {
System.out.println("0. Thoat");
switch (choose) {
case 1:
ht.nhap();
break;
case 2:
ht.xuat();
break;
case 3:
d.nhap();
break;
case 4:
41
d.displayChuanHoa();
break;
case 5:
d.soCauSoTu();
break;
case 0:
System.exit(0);
break;
default:
System.out.println("Nhap lai");
package demo;
import java.util.Scanner;
42
Scanner in = new Scanner(System.in);
hoTen = in.nextLine();
System.out.println(hoTen);
package demo;
import java.util.Scanner;
para = in.nextLine();
43
String out = "";
char c = para.charAt(i);
if (c == dau) {
check = true;
c = Character.toUpperCase(c);
check = false;
out = out + c;
return out;
para = para.trim();
44
if (para.charAt(para.length() - 1) != '.') {
chuanHoa();
chuanHoa();
soCau();
System.out.println(x);
45
Bai 16:
package demo;
import java.util.Scanner;
HinhTron ht = null;
while (true) {
System.out.println("0. Thoat");
switch (chon) {
case 1:
System.out.print("Nhap r = ");
ht = new HinhTron(Double.parseDouble(input.nextLine()));
break;
case 2:
46
System.out.println("Chu vi: " + ht.chuVi());
break;
case 3:
break;
case 4:
break;
case 0:
System.exit(0);
break;
default:
package demo;
private double r;
public HinhTron(double r) {
47
this.r = r;
return 2 * Math.PI * r;
Bài 18:
package demo;
import java.util.Scanner;
int n;
int[] a;
48
public static void main(String[] args) {
t.Nhap();
t.Try(0);
System.out.print("Nhap n = ");
n = input.nextInt();
a = new int[n];
for (int x : a) {
System.out.println();
} else {
a[i] = j;
49
}
Bài 19:
package demo;
import java.util.Scanner;
int n;
int k;
int[] a;
boolean[] chuaxet;
t.nhap();
t.Try(1);
50
Scanner input = new Scanner(System.in);
System.out.print("Nhap n = ");
n = input.nextInt();
while (n < 0) {
n = input.nextInt();
System.out.print("Nhap k = ");
k = input.nextInt();
while (k > n) {
k = input.nextInt();
if (i > k) {
System.out.println();
51
} else {
if (chuaxet[j] == false) {
a[i] = j;
chuaxet[j] = true;
Try(i + 1);
chuaxet[j] = false;
Bài 20:
package demo;
import java.util.Scanner;
int n;
int[] a;
boolean[] chuaxet;
52
Test t = new Test();
t.nhap();
t.Try(1);
System.out.print("Nhap n = ");
n = input.nextInt();
while (n < 0) {
n = input.nextInt();
if (i > n) {
System.out.println();
} else {
53
if (chuaxet[j] == false) {
a[i] = j;
chuaxet[j] = true;
Try(i + 1);
chuaxet[j] = false;
Bài 21:
package demo;
import java.util.Scanner;
System.out.print("Nhap n = ");
int n = input.nextInt();
System.out.println("Nhap he so");
54
System.out.print("He so cua x^" + i + " = ");
a[i] = input.nextDouble();
System.out.print("Nhap x = ");
double x = input.nextDouble();
return sum;
Bai 22
package demo;
55
arr.nhap();
arr.getC();
package demo;
import java.util.Scanner;
private double[] a;
private double[] b;
private double[] c;
int m = input.nextInt();
a = new double[m];
a[i] = input.nextDouble();
56
int n = input.nextInt();
b = new double[n];
b[i] = input.nextDouble();
int i = 0, j = 0, k = -1;
c[++k] = a[i];
i++;
} else {
c[++k] = b[j];
j++;
if (i >= a.length) {
c[++k] = b[j];
j++;
57
}
if (j >= b.length) {
c[++k] = a[i];
i++;
System.out.print("mang c: ");
Bài 23:
package demo;
import java.util.Scanner;
double[] a;
58
public static void main(String[] args) {
t.nhap();
t.list();
int n = input.nextInt();
a = new double[n];
a[i] = input.nextDouble();
boolean ok = true;
ok = false;
59
break;
if (ok == true) {
Bài 24:
package demo;
d.nhap();
d.list();
package demo;
import java.util.Scanner;
60
public class Day {
private double[] a;
int n = input.nextInt();
a = new double[n];
a[i] = input.nextDouble();
int count = 1;
count++;
61
}
if (count > 2) {
break;
if (count == 2) {
Bài 25:
package demo;
d.nhap();
d.list();
62
Bài 26:
package demo;
d.nhap();
d.sort();
package demo;
import java.util.Scanner;
private double[] a;
System.out.print("Nhap n = ");
int n = input.nextInt();
a = new double[n];
63
for (int i = 0; i < a.length; i++) {
a[i] = input.nextDouble();
int index = 0;
min = a[i];
index = i;
return index;
max = a[i];
64
return max;
Bài 27
package demo;
x.nhap();
x.soTu();
65
package demo;
import java.util.Scanner;
private String s;
s = input.nextLine();
chuanHoa();
66
Bài 28
package demo;
mt.nhap();
mt.indexMax();
mt.inNT();
mt.displaySort();
package demo;
import java.util.Scanner;
private int[][] a;
67
System.out.print("Nhap so hang n = ");
int n = in.nextInt();
int m = in.nextInt();
a = new int[n][m];
a[i][j] = in.nextInt();
System.out.println("Nhap lai(0<a[i][j]<100");
a[i][j] = in.nextInt();
System.out.println();
68
private int maxElement() {
max = a[i][j];
return max;
if (a[i][j] == max) {
System.out.println("Phan tu max = " + max + " o vi trỉ " + i + " " + j);
69
if (n < 2) {
return false;
} else {
if (n % i == 0) {
return false;
return true;
if (isNT(a[i][j])) {
} else {
System.out.println();
70
private void sort(int[][] a, int cot) {
sort(a, i);
System.out.println();
71
}
Bài 29:
package demo;
num.list();
package demo;
if (n < 2) {
return false;
} else {
if (n % i == 0) {
return false;
72
}
return true;
sb = sb.reverse();
if (str.equals(str2)) {
return true;
} else {
return false;
while (n > 0) {
if (!isNT(n % 10)) {
return false;
} else {
n /= 10;
73
}
return true;
Bài 30
package demo;
num.list();
package demo;
74
public class Number {
if (n < 2) {
return false;
} else {
if (n % i == 0) {
return false;
return true;
sb = sb.reverse();
return str1.equals(str2);
75
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
return isNT(sum);
Bài 31
package demo;
m.nhap();
76
m.displayMax();
m.displaySorted();
m.chen();
package demo;
import java.util.Scanner;
private int[] a;
int n = in.nextInt();
n = in.nextInt();
77
System.out.print("a[" + i + "] = ");
a[i] = in.nextInt();
int max = 0;
max = a[i];
return max;
max2 = a[i];
return max2;
78
public void displayMax() {
if (a[i] == max1) {
if (a[i] == max2) {
a[j + 1] = tmp;
79
sort(a, 1, a.length);
int x = in.nextInt();
a[0] = x;
sort(a, 0, a.length);
for (int y : a) {
Bài 32
package demo;
80
mt.nhap();
mt.displayMax();
mt.inNT();
mt.bestRow();
package demo;
import java.util.Scanner;
private int[][] a;
int n = in.nextInt();
int m = in.nextInt();
a = new int[n][m];
81
a[i][j] = in.nextInt();
System.out.println("Nhap lai:");
a[i][j] = in.nextInt();
inMaTran();
for (int[] x : a) {
for (int y : x) {
System.out.println();
int max = 0;
for (int[] x : a) {
for (int y : x) {
82
if (max < y) {
max = y;
return max;
if (max == a[i][j]) {
if (n < 2) {
return false;
} else {
83
if (n % i == 0) {
return false;
return true;
if (isNT(a[i][j])) {
} else {
System.out.print("0 ");
System.out.println();
84
int count = 0;
if (isNT(a[i][j])) {
count++;
max = count;
index = i;
System.out.println("Hang co nhieu nguyen to nhat la hang " + (index + 1) + " co " + max +
" nguyen to");
Bài 33
package demo;
dt.nhap();
dt.horner();
dt.daoHam();
dt.tongDaThuc();
85
}
package demo;
import java.util.Scanner;
private double[] a;
private double x;
int n = in.nextInt();
n = in.nextInt();
a[i] = in.nextDouble();
86
inDaThuc(a, n);
System.out.print("\nNhap x = ");
x = in.nextDouble();
System.out.print(a[0]);
p = p * x + a[i - 1];
dh[i - 1] = i * a[i];
87
}
double[] b;
int m = in.nextInt();
b[i] = in.nextDouble();
if (m > a.length - 1) {
System.out.println("\nTong da thuc");
} else {
a[i] += b[i];
88
System.out.println("\nTong da thuc");
Bài 34
package demo;
m.nhap();
m.findMax();
m.displaySort();
m.chen();
package demo;
import java.util.Scanner;
89
private int[] a;
int n = in.nextInt();
n = in.nextInt();
a[i] = in.nextInt();
displayMang(1, a.length);
System.out.println();
90
private int max() {
int max = 0;
max = a[i];
return max;
max2 = a[i];
return max2;
if (a[i] == max) {
91
System.out.println("Gia tri max la " + max + " o vi tri " + i);
if (a[i] == max2) {
System.out.println("Gia tri max thu 2 la " + max2 + " o vi tri " + i);
a[j + 1] = tmp;
sort(1, a.length);
displayMang(1, a.length);
92
public void chen() {
System.out.println("Nhap x = ");
a[0] = in.nextInt();
sort(0, a.length);
displayMang(0, a.length);
Bài 35
package demo;
import java.util.Scanner;
String s = in.nextLine();
93
public static String chuanHoaSpace(String s) {
return s;
s = "";//cho s ve rong
for (int j = 0; j < str[i].length(); j++) {//lap qua ca chu trong mot tu
} else {
s = s + " " + tmp;//nap cac tu vao s cach nhau boi dau cach
return s;
94
Bài 36:
package demo;
import java.util.Scanner;
String s = in.nextLine();
findMax(s);
return s;
s = chuanHoa(s);
95
max = str[i];
return max;
s = chuanHoa(s);//phai chuan hoa vi chuan hoa trong longesWord khong lam thay doi s
if (str[i].equals(max)) {
break;
Bài 37
package demo;
import java.util.Scanner;
96
public static void main(String[] args) {
return output;
Bài 38
package demo;
import java.util.Scanner;
97
public static void main(String[] args) {
dt.nhap();
int n = in.nextInt();
dt.daoHam(dt.getA(), n);
dt.daoHam(dt.getB(), n);
dt.cong();
dt.tru();
dt.chia();
package demo;
import java.util.Scanner;
private double[] a;
98
private double[] b;
int n = in.nextInt();
heSo(a);
System.out.print("P(x) = ");
inDaThuc(a);
int m = in.nextInt();
heSo(b);
System.out.print("Q(x) = ");
inDaThuc(b);
return a;
99
return b;
a[i] = in.nextDouble();
System.out.println(a[0]);
System.out.print("Nhap x0 = ");
double x = in.nextDouble();
double sum = 0;
100
return sum;
if (n == 0) {
inDaThuc(a);
} else {
tmp[i - 1] = i * a[i];
daoHam(tmp, n - 1);
double[] tong;
tong[i] = a[i];
101
} else {
tong[i] = b[i];
inDaThuc(tong);
double[] tong;
tong[i] = a[i];
} else {
102
for (int i = 0; i < a.length; i++) {
tong[i] = b[i];
inDaThuc(tong);
tmp[i] = a[i];
double[] du = null;
int j = 1;
if (i == 0) {
break;
j++;
103
tmp[tmp.length - j] = tmp[tmp.length - j] - thuong[i] * b[b.length - j];
inDaThuc(thuong);
tmp[i] = a[i];
int i = thuong.length - 1;
while (i >= 0) {
if ((k - i) >= 0) {
} else {
du[k] = tmp[k];
i--;
tmp = du;
if (i < 0) {
break;
104
System.out.println("Da thuc du");
inDaThuc(du);
Bài 39:
package demo;
mt.nhap();
mt.findMaxHang();
mt.findMaxCot();
mt.findMaxCheo();
mt.inChuyenVi();
mt.inNghichDao();
package demo;
import java.util.Scanner;
105
public class MaTran {
private int[][] a;
System.out.print("Nhap n = ");
int n = in.nextInt();
a = new int[n][n];
a[i][j] = in.nextInt();
inMaTran(a);
return a;
106
for (int i = 0; i < a.length; i++) {
System.out.println();
int sum = 0;
sum += a[i][j];
return sum;
int sum = 0;
sum += a[j][i];
return sum;
107
int max = sumHang(0);
max = sum;
return max;
max = sum;
return max;
if (sumHang(i) == max) {
108
System.out.println("Hang co tong max la hang " + (i + 1));
if (sumCot(i) == max) {
int cheoChinh = 0;
int cheoPhu = 0;
cheoChinh += a[i][i];
int j = a.length - 1;
cheoPhu += a[i][j];
j--;
109
}
} else {
cv[i][j] = a[j][i];
return cv;
inMaTran(maTranCV());
110
private int sign(int i) {
if (i % 2 == 0) {
return 1;
} else {
return -1;
if (a.length < 2) {
return -1;
} else if (a.length == 2) {
} else {
int det = 0;
int m = 0, n = 0;
if (j != 0 && k != i) {
sub[m][n] = a[j][k];
n++;
111
}
n = 0;
if (j != 0) {
m++;
m = 0;
return det;
if ((i + j) % 2 == 0) {
return 1;
} else {
return -1;
if (det(a) == 0) {
return null;
112
int[][] cv = maTranCV();//tim ma tran chuyen vi
int m = 0, n = 0;
if (l != i && k != j) {
tmp[m][n] = cv[l][k];
n++;
n = 0;
if (l != i) {
m++;
m = 0;
return nd;
113
public void inNghichDao() {
int[][] nd = maTranND();
if (nd == null) {
} else {
inMaTran(nd);
114