Viết chương trình nhập từ bàn phím số nguyên có 4 chữ số in tổng các chữ số của số nguyên đó Java

Xin chào tất cả các bạn đã quay lại loạt bài hướng dẫn lập trình Java. Các bạn đã học tập thế nào? Java đã làm các bạn thấy thú vị chứ?


Mình nghĩ rằng đã đến lúc chúng ta đi đến việc quan trọng nhất, áp dụng lý thuyết đó vào thực hành để giải những bài tập Java.


Ban đầu có thể các bạn sẽ thấy những bài tập này nó khá là … đơn giản.


Nhưng thực sự mà nói thì nó rất là quan trọng trong việc học lập trình.



Khi làm thật nhiều những bài tập nhỏ, cơ bản thế này, bạn sẽ được tiếp cận vấn đề một cách cơ sở nhất, từ đó hiểu rõ bản chất vấn đề.


Luyện tập những bài tập đơn giản đến độ thuần thục cho phép bạn có khả năng đọc từng phần nhỏ của chương trình lớn và ghép nối chúng lại dễ dàng để hiểu được bức tranh lớn.


Nên nhớ là:

"CHƯƠNG TRÌNH LỚN CŨNG ĐƯỢC TẠO THÀNH TỪ CHƯƠNG TRÌNH NHỎ MÀ THÔI"



Vậy nên đừng thấy nó nhỏ mà bỏ qua nhé, chúng ta sẽ góp gió thành bão, tích tiểu thành đại.


Trước tiên, hãy tự thử sức mình với 20 bài tập Java cơ bản sau đây (đừng vội xem đáp án bên dưới nhé).


Viết chương trình nhập từ bàn phím số nguyên có 4 chữ số in tổng các chữ số của số nguyên đó Java


20 bài tập Java cơ bản



Sau đó, khi làm xong hãy thử tham khảo thêm cách làm (đáp án) của mình.


Lưu ý, nếu thực sự không thể tự mình làm được thì mới xem ấp án nhé.


> Nếu bạn tham gia KHÓA HỌC JAVA tại NIIT - ICT Hà Nội thì bạn sẽ được thử sức với số lượng bài tập được thiết kế tỉ mỉ theo lộ trình bài bản. Hoàn thành hết là tương đương năng lực của Junior Dev.



Còn bây giờ, bắt đầu thử làm bài tập Java thôi nào.


Đề bài: 20 bài tập Java cơ bản



Phần 1: 5 Bài tập Java cơ bản với câu điều kiện



Bài tập 1:


  • Viết chương trình Java mà khi chạy, màn hình console sẽ cho phép ta nhập vào một số nguyên, in ra màn hình “Đây là số nguyên dương”
  • Nếu số vừa nhập vào là một số lớn hơn hoặc bằng 0, ngược lại in ra “Đây là số nguyên âm”.


Bài tập 2:


  • Viết chương trình cho phép nhập vào một số nguyên dạng số, sau khi chạy thì chương trình sẽ ghi số đó ra dưới dạng chữ.
  • VD: 1 -> Một, 2 -> Hai, …


Bài tập 3:


  • Viết chương trình cho phép nhập vào 3 số thực
  • Chương trình này sẽ kiểm tra 3 số này có phải là 3 cạnh của một tam giác hay không.


Bài tập 4:


  • Viết chương trình cho phép nhập vào 3 số
  • Chương trình sẽ kiểm tra 3 số này có phải là 3 cạnh của một tam giác vuông hay không.


Bài tập 5*:


  • Viết chương trình cho phép người dùng nhập vào mã số sinh viên
  • Sau đó kiểm tra xem mã số này có đúng với định dạng đã cho hay không.
  • Định dạng mã số sinh viên là “Bxxxxxxx” với x là số nguyên từ 1-9. (Sử dụng biểu thức chính quy để ràng buộc định dạng)


> Nếu thấy những bài tập trên khó, đó là do kiến thức Java ăn bản của bạn chưa vững. Ôn tập thêm tại Hướng dẫn tự học Java.


> Và học thêm một ít về thuật toán bạn nhé.


Phần 2: 5 Bài tập Java cơ bản với vòng lặp



Bài tập 6:


  • Viết chương trình cho phép nhập vào một số nguyên dương n, tính tổng tất cả số chẵn trong khoảng từ 0 - n.


Bài tập 7:


  • Viết chương trình để nhập nhập một số nguyên, tìm kết quả phép nhân của số đó với các số từ 1 - 20 , sau đó in kết quả ra màn hình.

Bài tập 8:


  • Viết chương trình cho phép nhập vào một số nguyên n ( n < 1000 )
  • In ra tất cả số nguyên tố trong khoảng từ 0 - n.


Bài tập 9:


  • Viết chương trình cho phép nhập vào số nguyên n( n <= 20 ), in ra số Fibonacci ứng với nó.
  • Số Fibonacci là số mà nó bằng tổng của 2 số Fibonacci trước nó.
  • Với giả thuyết là Fi(0) = 1, Fi(1) = 1.

  • Ta có ví dụ: Fi(2) = Fi(0) + Fi(1) = 1+1 = 2, Fi(3) =Fi(2) + Fi(1) = 2+1 = 3, Fi(4) = Fi(3) + Fi(2) = 3+2 = 5, … Giả sử n = 4, đầu ra sẽ là 5.


Bài tập 10*:


  • Viết chương trình cho phép người dùng nhập vào 5 mã số sinh viên.
  • Kiểm tra xem mã số sinh viên này có đúng với định dạng hay chưa.
  • Với định dạng mã số sinh viên là “B170xxxx” với x là số nguyên từ 1-9. (Sử dụng biểu thức chính quy để ràng buộc định dạng)


> Phần này sẽ làm việc nhiều với vòng lặp nên nếu bạn chưa thực sự quen thì nên luyện tập thêm tại bài Vòng lặp trong Java.


Phần 3: 5 Bài tập Java cơ bản với Mảng



Bài tập 11:


  • Viết chương trình cho phép nhập vào n, sau đó nhập vào n phần tử số nguyên.
  • Cuối cùng, chương trình sẽ xuất ra giá trị trung bình của mảng này.


Bài tập 12:


  • Viết chương trình cho phép nhập vào n, sau đó nhập vào n phần tử số nguyên dương.
  • Cuối cùng, chương trình sẽ xuất ra phần tử có giá trị lớn nhất.


Bài tập 13:


  • Viết chương trình cho phép nhập vào n, sau đó nhập vào n phần tử số nguyên (có thể dương hoặc âm).
  • Cuối cùng, chương trình sẽ xuất ra phần tử có giá trị nhỏ nhất.


Bài tập 14:


  • Viết chương trình cho phép nhập vào n, sau đó nhập vào n phần tử số nguyên.
  • Sắp xếp các phần tử trong mảng theo thứ tự ngược lại.


Bài tập 15(*):


  • Viết chương trình cho phép người dùng nhập vào 5 mã số, lưu 5 mã số này vào một mảng.
  • Chương trình sẽ kiểm tra xem trong 5 mã số này có mã số nào sai định dạng hay không (định dạng là “00yLxxxx” với y là số nguyên từ 2 - 5, x là số nguyên từ 0-9).
  • Nếu có bất kỳ mã số nào sai định dạng thì chương trình in ra “Sai rồi” rồi kết thúc chương trình, ngược lại thì in ra “Đúng rồi”. (Sử dụng biểu thức chính quy để ràng buộc định dạng)


Phần 4: 5 Bài tập Java cơ bản với chuỗi



Bài tập 16:


  • Viết chương trình cho phép người dùng nhập vào một chuỗi, sau đó nhập vào một ký tự.
  • Kiểm tra xem ký tự đó có xuất hiện trong chuỗi hay không? Nếu có in ra “Có”, ngược lại in ra “Không”.


Bài tập 17:


  • Viết chương trình cho phép người dùng nhập vào một chuỗi, sau đó nhập vào một ký tự.
  • Kiểm tra xem ký tự nhập vào đó nằm ở vị trí thứ mấy trong chuỗi(nếu có, số đếm bắt đầu từ 0).
  • Nếu nó có xuất hiện trong chuỗi thì in ra vị trí của nó trong chuỗi, nếu không thì in ra “Không tồn tại trong chuỗi”.


Bài tập 18:


  • Viết chương trình cho phép nhập vào một chuỗi, kiểm tra xem chuỗi này có xuất hiện số hay không.
  • Nếu có tin ra “Có”, ngược lại, in ra “Không”.


Bài tập 19:


  • Viết chương trình cho phép nhập vào một chuỗi
  • Kiểm tra xem chuỗi này ký tự “a” xuất hiện bao nhiêu lần
  • In ra số lần đó.


Bài tập 20*:

  • Viết chương trình cho phép người dùng nhập vào 1 chuỗi, kiểm tra chuỗi này có phù hợp với yêu cầu hay không.
  • Nếu có thì in ra “Duyệt!”, ngược lại in ra “Không duyệt”.
  • Yêu cầu về chuỗi là: Có độ dài không quá 20 ký tự, không được chứa ký tự khoảng trắng, bắt đầu bằng một ký tự chữ viết hoa (A - Z), kết thúc bằng một số (0 - 9). (Sử dụng biểu thức chính quy để ràng buộc định dạng)


Đáp án: 20 bài tập Java cơ bản



Đáp án: 5 Bài tập Java cơ bản với câu điều kiện



Đáp án bài tập 1:



importjava.util.Scanner;

public classBaiTapJavaCoBan1{

publicstaticvoidmain(String[]args)

{

intn;

System.out.println("Nhapvaomotsonguyen:");

Scannersc=newScanner(System.in);


n=sc.nextInt();


if(n>=0){

System.out.println("Đâylàmộtsốnguyêndương");

}

else{

System.out.println("Đâylàsốnguyênâm");

}

}

}



Đáp án bài tập 2:



importjava.util.Scanner;


public classBaiTapJavaCoBan2{

publicstaticvoidmain(String[]args)

{

intn;

System.out.println("Nhapvaomotsonguyen:");

Scannersc=newScanner(System.in);


n=sc.nextInt();


switch(n)

{

case0:System.out.println("Không");break;

case1:System.out.println("Một");break;

case2:System.out.println("Hai");break;

case3:System.out.println("Ba");break;

case4:System.out.println("Bốn");break;

case5:System.out.println("Năm");break;

case6:System.out.println("Sáu");break;

case7:System.out.println("Bảy");break;

case8:System.out.println("Tám");break;

case9:System.out.println("Chín");break;

default:

System.out.println("Chỉcó0-9thôi:D");

break;

}

}

}



Đáp án bài tập3:



importjava.util.Scanner;


public classBaiTapJavaCoBan3{

publicstaticvoidmain(String[]args)

{

floata,b,c;

System.out.println("Nhậpvào3số:");

Scannersc=newScanner(System.in);


a=sc.nextFloat();

b=sc.nextFloat();

c=sc.nextFloat();


if(a+b>c&&b+c>a&&c+a>b)

System.out.println("Ba số đúng là3cạnhcủa1tamgiác");

else

System.out.println("Ba sốkhôngphảilà3cạnhcủa1tamgiác");

}

}



Đáp án bài tập4:



importjava.util.Scanner;


public classBaiTapJavaCoBan4{

publicstaticvoidmain(String[]args)

{

floata,b,c;

System.out.println("Nhậpvào3số:");

Scannersc=newScanner(System.in);


a=sc.nextFloat();

b=sc.nextFloat();

c=sc.nextFloat();


if(a*a+b*b==c*c||b*b+c*c==a*a||c*c+a*a==b*b)

System.out.println("Basốđúnglà3cạnhcủa1tamgiácvuông");

else

System.out.println("Basốkhôngphảilàcạnhcủa1tamgiácvuông");

}

}



Đáp án bài tập5:



importjava.util.Scanner;


public classBaiTapJavaCoBan5{

publicstaticvoidmain(String[]args)

{

StringMSSV;

System.out.println("NhậpvàoMSSV:");

Scannersc=newScanner(System.in);


MSSV=sc.nextLine();//Nhậnvào1chuỗitừbànphím


if(MSSV.matches("B\\d{7}")) //Kiểmtrabằngbiểuthứcchínhquy

System.out.println("Phùhợp");

else

System.out.println("Khôngphùhợp");


//Bàinàynângcaolàvìcósửdụngbiểuthứcchínhquy

//cácbạncóthểtraGoogleđểbiếtthêmvềnó

}

}



Đáp án: 5 Bài tập Java cơ bản với vòng lặp



Đáp án bài tập6:



importjava.util.Scanner;


public classBaiTapJavaCoBan6{

publicstaticvoidmain(String[]args)

{

intn;

intsum=0;

System.out.println("Nhậpvàosốnguyên:");

Scannersc=newScanner(System.in);


n=sc.nextInt();


for(inti=0;i<=n;i++)//duyệttấtcảphầntửtừ0-n

if(i%2==0)//nếunólàsốchẵn

sum+=i;//Cộngvàotổng.

System.out.println(sum);

}

}



Đáp án bài tập7:



importjava.util.Scanner;


public classBaiTapJavaCoBan7{

publicstaticvoidmain(String[]args)

{

intn;

intsum=0;

System.out.println("Nhậpvàosốnguyên:");

Scannersc=newScanner(System.in);


n=sc.nextInt();


for(inti=1;i<=20;i++)//duyệttấtcảphầntửtừ1-20

{

System.out.println(n+"x"+i+"="+n*i);

}

}

}



Đáp án bài tập8:



importjava.util.Scanner;


public classBaiTapJavaCoBan8{

publicstaticvoidmain(String[]args)

{

intn;

booleansoNguyenTo=false;

System.out.println("Nhậpvàosốnguyên:");

Scannersc=newScanner(System.in);


n=sc.nextInt();


//1,2là2sốnguyêntốmặcnhiên,khôngcầnxét.

System.out.print("12");

for(inti=3;i<=n;i++)//duyệttấtcảphầntửtừ1-20

{

/**

*GánchosoNguyenTođúng

*Nếusaukhirakhỏivònglặpj

*mànóvẫncònlàtruethìsốnàylàsốnguyêntố

*/

soNguyenTo=true;

for(intj=2;j<i;j++)

{

if(i%j==0)

/**

*GánchosoNguyenTolàfalse

*khinóchiahếtnóbấtcứsốnàonhỏhơn

*nótrongkhoảngtừ3-n

*/

soNguyenTo=false;

}

if(soNguyenTo==true)

System.out.print(i+"");

}

}

}



Đáp án bài tập9:



importjava.util.Scanner;


publicclassFibonacci

{

publicintCalculateFi(intn)

{

if(n==0||n==1){

return1;

}

returnCalculateFi(n-1)+CalculateFi(n-2);

}

}


publicclassHelloWorld

{

publicstaticvoidmain(String[]args)

{

intn;

intFi;

System.out.println("Nhậpvàosốnguyên:");

Scannersc=newScanner(System.in);


n=sc.nextInt();


Fibonaccifibonacci=newFibonacci();

Fi=fibonacci.CalculateFi(n);


System.out.println("Fi("+n+")="+Fi);

}

}



Đáp án bài tập10:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan10

{

publicstaticvoidmain(String[]args)

{

String[]MSSV=newString[5];

Scannersc=newScanner(System.in);

for(inti=0;i<5;i++)

{

System.out.println("NhậpvàoMSSVthứ"+(i+1)+":");

MSSV[i]=sc.nextLine();

}


for(inti=0;i<5;i++)

{

if(!MSSV[i].matches("B170[1-9]{4}"))

System.out.println("MSSVthứ"+(i+1)+"saiđịnhdạng!");

}

}

}



Đáp án: 5 Bài tập Java cơ bản với Mảng



Đáp án bài tập11:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan11

{

publicstaticvoidmain(String[]args)

{

intn;

int[]soNguyen;

floatketQua=0;

Scannersc=newScanner(System.in);


System.out.println("Nhậpvàon:");

n=sc.nextInt();

soNguyen=newint[n];

for(inti=0;i<n;i++)

{

System.out.println("Nhậpvàosốnguyên:");

soNguyen[i]=sc.nextInt();

}


for(inti=0;i<n;i++)

ketQua+=soNguyen[i];

ketQua=ketQua/n;


System.out.println("Trungbìnhcộngcủacácsốnguyênlà:"+ketQua);

}

}



Đáp án bài tập12:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan12

{

publicstaticvoidmain(String[]args)

{

intn;

int[]soNguyen;

intmax=0;

Scannersc=newScanner(System.in);


System.out.println("Nhậpvàon:");

n=sc.nextInt();

soNguyen=newint[n];

for(inti=0;i<n;i++)

{

System.out.println("Nhậpvàosốnguyên:");

soNguyen[i]=sc.nextInt();

}


for(inti=0;i<n;i++)

{

if(soNguyen[i]>max)

max=soNguyen[i];

}

System.out.println("Phầntửcógiátrịlớnnhấtlà:"+max);

}

}



Đáp án bài tập13:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan13

{

publicstaticvoidmain(String[]args)

{

intn;

int[]soNguyen;

intmin=0;

Scannersc=newScanner(System.in);


System.out.println("Nhậpvàon:");

n=sc.nextInt();

soNguyen=newint[n];

for(inti=0;i<n;i++)

{

System.out.println("Nhậpvàosốnguyên:");

soNguyen[i]=sc.nextInt();

}


min=soNguyen[0];


for(inti=0;i<n;i++)

{

if(soNguyen[i]<min)

min=soNguyen[i];

}


System.out.println("Phầntửcógiátrịnhỏnhấtlà:"+min);

}

}



Đáp án bài tập14:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan14

{

publicstaticvoidmain(String[]args)

{

//Khaibáocácbiếncầnthiết

intn;

int[]soNguyen;

Scannersc=newScanner(System.in);

//Nhậpdữliệu

System.out.println("Nhậpvàon:");

n=sc.nextInt();

soNguyen=newint[n];

for(inti=0;i<n;i++)

{

System.out.println("Nhậpvàosốnguyên:");

soNguyen[i]=sc.nextInt();

}

//Inramảngbanđầu

System.out.println("Mảngtrướckhiđảongược:");

for(inti=0;i<n;i++)

System.out.print(soNguyen[i]+"");

//Đảongượcmảng

for(inti=0;i<n/2;i++)

{

intempty;

empty=soNguyen[i];

soNguyen[i]=soNguyen[n-i-1];

soNguyen[n-i-1]=empty;

}

//Inramảngsaukhiđảongược

System.out.println("\nMảngsaukhiđảongược:");

for(inti=0;i<n;i++)

System.out.print(soNguyen[i]+"");

}

}



Đáp án bài tập15:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan15

{

publicstaticvoidmain(String[]args)

{

String[]code=newString[5];

Scannersc=newScanner(System.in);


for(inti=0;i<5;i++)

{

System.out.println("Nhậpvàomãthứ"+(i+1));

code[i]=sc.nextLine();

if(!code[i].matches("00[2-5]L\\d{4}"))

{

System.out.println("Sairồi!");

return;

}

}

System.out.println("Đúngrồi!");

}

}



Đáp án: 5 Bài tập Java cơ bản với chuỗi



Đáp án bài tập16:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan16

{

publicstaticvoidmain(String[]args)

{

Stringchuoi;

charkiTu;

booleantonTai=false;

Scannersc=newScanner(System.in);

System.out.println("Nhậpvàomộtchuỗi:");

chuoi=sc.nextLine();

System.out.println("Nhậpvàokýtựmuốnkiểmtra:");

kiTu=sc.nextLine().charAt(0);

charmangKiTu[]=chuoi.toCharArray();

for(inti=0;i<mangKiTu.length;i++)

{

if(kiTu==mangKiTu[i])

{

System.out.println("Có");

tonTai=true;

}

}

if(tonTai==false)

System.out.println("Không");

}

}



Đáp án bài tập17:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan17

{

publicstaticvoidmain(String[]args)

{

Stringchuoi;

charkiTu;

booleantonTai=false;

Scannersc=newScanner(System.in);


System.out.println("Nhậpvàomộtchuỗi:");

chuoi=sc.nextLine();

System.out.println("Nhậpvàokýtựmuốnkiểmtra:");

kiTu=sc.nextLine().charAt(0);


charmangKiTu[]=chuoi.toCharArray();

for(inti=0;i<mangKiTu.length;i++)

{

if(kiTu==mangKiTu[i])

{

System.out.println((i+1));

tonTai=true;

}

}

if(tonTai==false)

System.out.println("Khôngtồntạitrongchuỗi");

}

}



Đáp án bài tập18:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan18

{

publicstaticvoidmain(String[]args)

{

Stringchuoi;

Scannersc=newScanner(System.in);


System.out.println("Nhậpvàomộtchuỗi:");

chuoi=sc.nextLine();


if(chuoi.matches(".*\\d.*"))

System.out.println("Có");

else

System.out.println("Không");

}

}



Đáp án bài tập19:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan19

{

publicstaticvoidmain(String[]args)

{

Stringchuoi;

intsoLan=0;

Scannersc=newScanner(System.in);


System.out.println("Nhậpvàomộtchuỗi:");

chuoi=sc.nextLine();


charmangKiTu[]=chuoi.toCharArray();

for(inti=0;i<mangKiTu.length;i++)

{

if('a'==mangKiTu[i])

{

soLan++;

}

}

System.out.println(soLan);

}

}



Đáp án bài tập20:



importjava.util.Scanner;

publicclassBaiTapJavaCoBan20

{

publicstaticvoidmain(String[]args)

{

Stringchuoi;

Scannersc=newScanner(System.in);


System.out.println("Nhậpvàomộtchuỗi:");

chuoi=sc.nextLine();


if(chuoi.matches("^[A-Z][^\\s]{0,18}\\d$"))

System.out.println("Duyệt");

else

System.out.println("Khôngduyệt");

}

}



Tổng kết



Như vậy là chúng ta vừa cùng nhau hoàn thành 20bài tập Java.


Trong đó mình đã có giới thiệu đến các bạn một khái niệm rất hay trong Java đó là biểu thức chính quy, thường thì biểu thức chính quy được áp dụng nhiều trong việc ràng buộc dữ liệu nhập vào của người dùng (định dạng của email, số điện thoại,...) và được sử dụng rất nhiều trong lập trình.


Cùng với một số bài tập Java cơ bản cho các bạn hiểu rõ hơn về rẽ nhánh, mảng, vòng lặp, chuỗi.


Hãy nhớ luyện tập thật nhiều đều đặn, phản xạ xử lý chương trình ngay trong suy nghĩ để có thể chinh phục ngôn ngữ Java tốt hơn bạn nhé.


>>>10 Project Java miễn phí dành cho người mới học


---

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI

Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!

Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội

SĐT: 02435574074 - 0383.180086

Email:

Website:https://niithanoi.edu.vn

Fanpage: https://facebook.com/NIIT.ICT/

#niit #icthanoi #niithanoi niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python