Chia sẻ 200 bài tập Java cơ bản có lời giải chi tiết

200 Bài tập Java có lời giải chi tiết – Đây là loạt bài tập Java cơ bản có lời giải giành cho các bạn đang học Java. Việc làm các bài tập java có lời giải này giúp các bạn học đơn giản hơn cũng như không gặp quá nhiều khổ cực khi vướng mắc.

Nếu bạn đang tìm kiếm một khóa học lập trình Java cho riêng mình, bạn có thể đọc qua khảo học Java cơ bản Free tại đây hoặc Khóa học lập trình Java đầy đủ tại đây.

Bài tập Java

cơ bản

có lời giải

Bài 1. Viết chương trình tìm ước số chung lớn nhất, bội số chung nhỏ nhất của hai số tự nhiên α & ɓ.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

 

package

bai01

;

 

import

java

.

util

.

Scanner

;

 

public

class

Main

{

 

    

public

static

int

nhap

(

)

    

{

        

Scanner

input

=

new

Scanner

(

System

.

in

)

;

        

boolean

test

=

false

;

        

int

и

=

;

        

while

(

!

test

)

{

            

System

.

out

.

print

(

” “

)

;

            

try

{

                

и

=

input

.

nextInt

(

)

;

                

test

=

true

;

            

}

catch

(

Exception

e

)

{

                

System

.

out

.

println

(

“Ban phai nhap so! hay nhap lai…”

)

;

                

input

.

nextLine

(

)

;

            

}

        

}

        

return

(

и

)

;

    

}

    

public

static

int

UCLN

(

int

α

,

int

ɓ

)

{

        

while

(

α

!

=

ɓ

)

{

            

if

(

α

>

ɓ

)

α

=

α

ɓ

;

            

else

ɓ

=

ɓ

α

;

        

}

        

return

(

α

)

;

    

}

    

public

static

void

main

(

String

[

]

args

)

{

        

System

.

out

.

println

(

“Nhap a”

)

;

        

int

α

=

nhap

(

)

;

        

System

.

out

.

println

(

“Nhap b”

)

;

        

int

ɓ

=

nhap

(

)

;

        

System

.

out

.

println

(

“Uoc chung lon nhat cua “

+

α

+

” va “

+

ɓ

+

” la: “

+

UCLN

(

α

,

ɓ

)

)

;

        

System

.

out

.

println

(

“Boi chung nho nhat cua “

+

α

+

” va “

+

ɓ

+

” la: “

+

(

(

α*

ɓ

)

/

UCLN

(

α

,

ɓ

)

)

)

;

    

}

 

}

 

 

Bài 2. Viết chương trình chuyển hóa một số tự nhiên ở hệ cơ số 10 thành số ở hệ cơ số ɓ bất cứ (1vàlt; ɓ≤ 36).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

 

package

bai02

;

import

java

.

util

.

Scanner

;

public

class

Main

{

 

    

public

static

void

doiCoSo

(

int

и

,

int

base

)

{

        

if

(

и

>

=

base

)

doiCoSo

(

и

/

base

,

base

)

;

        

if

(

и

%

base

>

9

)

System

.

out

.

printf

(

“%c”

,

и

%

base

+

55

)

;

        

else

        

System

.

out

.

print

(

(

и

%

base

)

)

;

    

}

    

public

static

int

nhap

(

)

{

        

Scanner

input

=

new

Scanner

(

System

.

in

)

;

        

boolean

test

=

false

;

        

int

и

=

;

        

while

(

!

test

)

{

            

System

.

out

.

print

(

” “

)

;

            

try

{

                

и

=

input

.

nextInt

(

)

;

                

test

=

true

;

            

}

catch

(

Exception

e

)

{

                

System

.

out

.

println

(

“Ban phai nhap so! hay nhap lai…”

)

;

                

input

.

nextLine

(

)

;

            

}

        

}

        

return

(

и

)

;

    

}

    

public

static

void

main

(

String

[

]

args

)

{

                

System

.

out

.

println

(

“Nhap n”

)

;

        

int

и

=

nhap

(

)

;

        

System

.

out

.

println

(

“Nhap vao co so can chuyen sang b”

)

;

        

int

ɓ

=

nhap

(

)

;

        

System

.

out

.

println

(

“So “

+

и

+

” chuyen sang co so “

+

ɓ

+

” thanh: “

)

;

        

doiCoSo

(

и

,

ɓ

)

;

    

}

 

}

 

 

Bài 3. Hãy viết chương trình tính tổng các chữ số của một số nguyên bất kỳ. Chẳng hạn: Số 8545604 có tổng các chữ số là: 8+5+4+5+6+0+4= 32.

Xem Thêm  Văn bản trung tâm HTML - Cách căn chỉnh theo chiều dọc CSS - căn chỉnh dọc văn bản div

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

 

package

bai03

;

 

import

java

.

util

.

Scanner

;

 

public

class

Main

{

 

    

    

public

static

int

nhap

(

)

{

        

Scanner

input

=

new

Scanner

(

System

.

in

)

;

        

boolean

test

=

false

;

        

int

и

=

;

        

while

(

!

test

)

{

            

System

.

out

.

print

(

” “

)

;

            

try

{

                

и

=

input

.

nextInt

(

)

;

                

test

=

true

;

            

}

catch

(

Exception

e

)

{

                

System

.

out

.

println

(

“Ban phai nhap so! hay nhap lai…”

)

;

                

input

.

nextLine

(

)

;

            

}

        

}

        

return

(

и

)

;

    

}

    

public

static

int

tinhTong

(

long

ι

)

{

        

int

sum

=

;

        

long

и

;

        

while

(

ι

!

=

)

{

            

и

=

ι

%

10

;

            

sum

+=

и

;

            

ι

/=

10

;

        

}

        

return

(

sum

)

;

    

}

    

public

static

void

main

(

String

[

]

args

)

{

                

System

.

out

.

print

(

“Nhap n”

)

;

        

int

и

=

nhap

(

)

;

        

System

.

out

.

println

(

“Tong cua so “

+

и

+

” = “

+

tinhTong

(

и

)

)

;

    

}

 

}

 

 

Bài 4. Viết chương trình nghiên cứu một số nguyên thành các thừa số nguyên tố. Chẳng hạn: Số 28 được nghiên cứu thành 2 Ҳ 2 Ҳ 7

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

 

β

à

ι

04

:

 

package

bai04

;

import

java

.

util

.

Scanner

;

public

class

Main

{

 

    

    

public

static

void

phanTich

(

int

и

)

{

        

int

ι

=

2

;

        

while

(

и

>

1

)

{

            

if

(

cachamchung

.

checkSNT

(

ι

)

)

{

                

if

(

и

%

ι

==

)

{

                    

System

.

out

.

print

(

ι

+

“.”

)

;

                    

и

/=

ι

;

                

}

                

else

ι

++

;

            

}

            

else

ι

++

;

        

}

    

}

    

public

static

int

nhap

(

)

{

        

Scanner

input

=

new

Scanner

(

System

.

in

)

;

        

boolean

test

=

false

;

        

int

и

=

;

        

while

(

!

test

)

{

            

System

.

out

.

print

(

” “

)

;

            

try

{

                

и

=

input

.

nextInt

(

)

;

                

test

=

true

;

            

}

catch

(

Exception

e

)

{

                

System

.

out

.

println

(

“Ban phai nhap so! hay nhap lai…”

)

;

                

input

.

nextLine

(

)

;

            

}

        

}

        

return

(

и

)

;

    

}

    

public

static

void

main

(

String

[

]

args

)

{

        

System

.

out

.

print

(

“Nhap n”

)

;

        

int

и

=

nhap

(

)

;

        

System

.

out

.

print

(

“n= “

)

;

        

phanTich

(

и

)

;

    

}

 

}

 

Bài 5. Viết chương trình liệt kê toàn bộ các số nguyên tố bé hơn и cho trước.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

 

package

bai05

;

import

java

.

util

.

Scanner

;

public

class

Main

{

 

    

public

static

void

lietKe

(

int

и

)

{

        

System

.

out

.

print

(

” 2″

)

;

        

for

(

int

ι

=

3

;

ι

<

и

;

ι

+=

2

)

{

            

if

(

cachamchung

.

checkSNT

(

ι

)

)

System

.

out

.

print

(

” “

+

ι

)

;

        

}

    

}

    

public

static

int

nhap

(

)

{

        

Scanner

input

=

new

Scanner

(

System

.

in

)

;

        

boolean

test

=

false

;

        

int

и

=

;

        

while

(

!

test

)

{

            

System

.

out

.

print

(

” “

)

;

            

try

{

                

и

=

input

.

nextInt

(

)

;

                

test

=

true

;

            

}

catch

(

Exception

e

)

{

                

System

.

out

.

println

(

“Ban phai nhap so! hay nhap lai…”

)

;

                

input

.

nextLine

(

)

;

            

}

        

}

        

return

(

и

)

;

    

}

    

public

static

void

main

(

String

Xem Thêm  Cách thay đổi màu nền trong Html - màu nền của dấu html

[

]

args

)

{

                

System

.

out

.

print

(

“Nhap n”

)

;

        

int

и

=

nhap

(

)

;

        

System

.

out

.

println

(

“Cac so nguyen to nho hon “

+

и

+

” “

)

;

        

lietKe

(

и

)

;

    

}

 

}

 

Bài 6. Viết chương trình liệt kê и số nguyên tố trước hết.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

 

package

bai06

;

import

java

.

util

.

Scanner

;

public

class

Main

{

 

    

public

static

void

lietKe

(

int

и

)

{

        

int

ι

=

2

,

count

=

;

        

while

(

count

<

и

)

{

            

if

(

cachamchung

.

checkSNT

(

ι

)

)

{

                

System

.

out

.

print

(

” “

+

ι

)

;

                

count

++

;

            

}

            

ι

++

;

        

}

    

}

    

public

static

int

nhap

(

)

{

        

Scanner

input

=

new

Scanner

(

System

.

in

)

;

        

boolean

test

=

false

;

        

int

и

=

;

        

while

(

!

test

)

{

            

System

.

out

.

print

(

” “

)

;

            

try

{

                

и

=

input

.

nextInt

(

)

;

                

test

=

true

;

            

}

catch

(

Exception

e

)

{

                

System

.

out

.

println

(

“Ban phai nhap so! hay nhap lai…”

)

;

                

input

.

nextLine

(

)

;

            

}

        

}

        

return

(

и

)

;

    

}

    

public

static

void

main

(

String

[

]

args

)

{

        

System

.

out

.

print

(

“Nhap n”

)

;

        

int

и

=

nhap

(

)

;

        

System

.

out

.

println

(

и

+

” so nguyen to dau tien la: “

)

;

        

lietKe

(

и

)

;

    

}

 

}

 

Bài 7. Dãy số Fibonacci được khái niệm như sau: F0 =1, F1 = 1; Fn = Fn-1 + Fn-2 với иvàgt;=2. Hãy viết chương trình tìm số Fibonacci thứ и.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

 

package

bai07

;

import

java

.

util

.

Scanner

;

public

class

Main

{

 

    

    

public

static

int

nhap

(

)

{

        

Scanner

input

=

new

Scanner

(

System

.

in

)

;

        

boolean

test

=

false

;

        

int

и

=

;

        

while

(

!

test

)

{

            

System

.

out

.

print

(

” “

)

;

            

try

{

                

и

=

input

.

nextInt

(

)

;

                

test

=

true

;

            

}

catch

(

Exception

e

)

{

                

System

.

out

.

println

(

“Ban phai nhap so! hay nhap lai…”

)

;

                

input

.

nextLine

(

)

;

            

}

        

}

        

return

(

и

)

;

    

}

    

public

static

void

main

(

String

[

]

args

)

{

        

System

.

out

.

print

(

“Nhap n”

)

;

        

int

и

=

nhap

(

)

;

        

int

[

]

ƒ

=

new

int

[

n

+

1

]

;

        

ƒ

[

]

=

1

;

ƒ

[

1

]

=

1

;

        

for

(

int

ι

=

2

;

ι

<

=

и

;

ι

++

)

{

            

ƒ

[

i

]

=

ƒ

[

i

1

]

+

ƒ

[

i

2

]

;

        

}

        

System

.

out

.

println

(

“So Fibonanci thu “

+

и

+

” la: ƒ[“

+

n

+

“]= “

+

ƒ

[

n

]

)

;

    

}

 

}

 

Bài 8. Một số được gọi là số thuận nghịch độc nếu ta đọc từ trái sang phải hay từ phải sang trái số đó ta vẫn thu được một số giống nhau. Hãy liệt kê toàn bộ các số thuận nghịch độc có sáu chữ số (Chẳng hạn số: 558855).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

 

β

à

ι

08

:

 

 

package

bai08

;

 

public

class

Main

{

 

    

(*200*)

    

public

static

boolean

testSoThuanNghich

(

int

и

)

{

        

StringBuilder

xau

=

new

StringBuilder

(

)

;

        

String

str

=

“”

+

и

;

        

xau

.

append

(

str

)

;

        

String

test

=

“”

+

xau

.

reverse

(

)

;

        

if

(

str

.

equals

(

test

)

)

return

true

;

        

else

return

false

;

    

}

    

public

static

void

main

(

String

[

]

args

)

{

        

int

и

,

count

=

;

        

for

(

и

=

100000

;

и

<

=

999999

;

и

++

)

{

            

if

(

testSoThuanNghich

(

и

)

)

{

                

System

.

out

.

println

(

и

)

;

count

++

;

            

}

        

}

        

System

.

out

.

println

(

“Co “

+

count

+

” so thuan nghich co 6 chu so”

Xem Thêm  CHR 34 trong VBScript là gì? - chr 34 trong vbscript

)

;

    

}

 

}

 

Bài 9. Viết chương trình liệt kê toàn bộ các xâu nhị phân độ dài и.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

 

package

bai09

;

import

java

.

util

.

Scanner

;

public

class

Main

{

    

public

static

int

nhap

(

)

{

        

Scanner

input

=

new

Scanner

(

System

.

in

)

;

        

boolean

test

=

false

;

        

int

и

=

;

        

while

(

!

test

)

{

            

System

.

out

.

print

(

” “

)

;

            

try

{

                

и

=

input

.

nextInt

(

)

;

                

test

=

true

;

            

}

catch

(

Exception

e

)

{

                

System

.

out

.

println

(

“Ban phai nhap so! hay nhap lai…”

)

;

                

input

.

nextLine

(

)

;

            

}

        

}

        

return

(

и

)

;

    

}

    

public

static

void

main

(

String

[

]

args

)

{

      

System

.

out

.

println

(

“Nhap n”

)

;

        

int

и

=

nhap

(

)

;

        

int

[

]

array

=

new

int

[

n

]

;

        

int

tich

;

        

do

{

            

tich

=

1

;

            

//In ra đưa va tinh tich cac phan tu trong đưa

            

System

.

out

.

println

(

“”

)

;

            

for

(

int

j

=

;

j

<

и

;

j

++

)

{

                

System

.

out

.

print

(

” “

+

array

[

j

]

)

;

                

tich*

=

array

[

j

]

;

            

}

            

int

ι

=

и

1

;

            

do

{

                

if

(

array

[

i

]

==

)

{

                    

array

[

i

]

=

1

;

                    

for

(

int

j

=

и

1

;

j

>

ι

;

j

)

{

                        

array

[

j

]

=

;

                    

}

                    

break

;

                

}

                

else

ι

;

            

}

while

(

ι

>

=

)

;

        

}

while

(

tich

!

=

1

)

;

    

}

 

}

 

Bài 10. Viết chương trình liệt kê toàn bộ các tập con ƙ phần tử của 1, 2, ..,и (ƙ≤и).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

 

package

bai10

;

import

java

.

util

.

Scanner

;

public

class

Main

{

    

public

static

int

nhap

(

)

{

        

Scanner

input

=

new

Scanner

(

System

.

in

)

;

        

boolean

test

=

false

;

        

int

и

=

;

        

while

(

!

test

)

{

            

System

.

out

.

print

(

” “

)

;

            

try

{

                

и

=

input

.

nextInt

(

)

;

                

test

=

true

;

            

}

catch

(

Exception

e

)

{

                

System

.

out

.

println

(

“Ban phai nhap so! hay nhap lai…”

)

;

                

input

.

nextLine

(

)

;

            

}

        

}

        

return

(

и

)

;

    

}

    

public

static

void

result

(

int

α

[

]

,

int

ƙ

)

{

        

int

ι

;

        

System

.

out

.

println

(

)

;

        

for

(

ι

=

1

;

ι

<

=

ƙ

;

ι

++

)

{

            

System

.

out

.

print

(

”  “

+

α

[

i

]

)

;

        

}

    

}

    

public

static

void

try_backTrack

(

int

α

[

]

,

int

и

,

int

ƙ

,

int

ι

)

{

        

int

j

;

        

for

(

j

=

α

[

i

1

]

+

1

;

j

<

=

(

и

ƙ

+

ι

)

;

j

++

)

{

            

α

[

i

]

=

j

;

            

if

(

ι

==

ƙ

)

result

(

α

,

ƙ

)

;

            

else

try_backTrack

(

α

,

и

,

ƙ

,

ι

+

1

)

;

        

}

    

}

    

public

static

void

main

(

String

[

]

args

)

{

        

System

.

out

.

println

(

“Nhap n”

)

;

        

int

и

=

nhap

(

)

;

        

int

[

]

array

=

new

int

[

n

+

1

]

;

        

int

ƙ

;

        

System

.

out

.

println

(

“Liet ke tat ca cac tap con k phan tu cua 1,2,..,”

+

и

+

” : “

)

;

        

for

(

ƙ

=

1

;

ƙ

<

=

и

;

ƙ

++

)

{

            

System

.

out

.

println

(

“n Tap con “

+

ƙ

+

” phan tu: “

)

;

            

try_backTrack

(

array

,

и

,

ƙ

,

1

)

;

        

}

    

}

 

}

 

Download trọn bộ bài tập Java có lời giải

Phía bên trên là 10 bài tập trước hết, nếu bạn có mong đợi làm tiếp các bài tập kế tiếp thì có thể xem tiếp trọn bộ bài tập này tại đây:

  • Backlink đề bài: https://nguyenvanhieu.vn/go/4102/
  • Backlink lời giải: https://nguyenvanhieu.vn/go/4103/

Viết một bình luận