public class Test{ public static void mainString args[]{ if args... If … else … lồng nhau public class Test{ public static void mainString args[]{ if args.. Chạy chương trình: >java Test
Trang 1Lập trình hướng đối tượng Các cấu trúc lệnh trong Java
Giảng viên: TS Nguyễn Mạnh Hùng
Học viện Công nghệ Bưu chính Viễn thông (PTIT)
Trang 3Các lệnh lựa chọn
Trang 4Các lệnh lựa chọn
if và if else
if lồng nhau
Trang 5If
public class Test{
public static void main(String args[]){
if (args length < 1){
System.out.println( "khong co doi so dong lenh!" );
} }
Trang 6If … else
public class Test{
public static void main(String args[]){
Trang 7If … else … lồng nhau
public class Test{
public static void main(String args[]){
if (args length < 1)
System.out.println( "khong co doi so dong lenh!" );
else if(args length < 5)
System.out.println( "so luong doi so tu 1 - 4" );
else if(args length < 10)
System.out.println( "so luong doi so tu 5 - 10" ); else
System.out.println( "so luong doi so > 10" );
Trang 8Chạy chương trình:
>java Test 5
thursday
public class Test{
public static void main(String args[]){
if (args length > 0){
int day = Integer.parseInt(args[0]);
switch (day){
case 2: System.out.println( "monday" ); break ;
case 3: System.out.println( "tuesday" ); break ;
case 4: System.out.println( "wednesday" ); break ;
case 5: System.out.println( "thursday" ); break ;
case 6: System.out.println( "friday" ); break ;
case 7: System.out.println( "satuday" ); break ;
case 8: System.out.println( "sunday" ); break ;
default : System.out.println( "invalid day of week!" ); break ; }
}
}}
Trang 9Các lệnh lặp
Trang 10while
public class Test{
public static void main(String args[]){
Trang 11while và break
public class Test{
public static void main(String args[]){
Trang 12while và continue
public class Test{
public static void main(String args[]){
Trang 13do … while
public class Test{
public static void main(String args[]){
Trang 14do … while và break
public class Test{
public static void main(String args[]){
Trang 15do … while và continue
public class Test{
public static void main(String args[]){
Trang 16for
public class Test{
public static void main(String args[]){
for ( i nt i = 0; i < args length; i++ ) {
System.out.println(args[i]);
} }
Trang 17for và break
public class Test{
public static void main(String args[]){
for ( i nt i = 0; i < args length; i++ ) {
if(args[i].equals( "a7" )) break;
System.out.println(args[i]);
} }
Trang 18for và continue
public class Test{
public static void main(String args[]){
for ( i nt i = 0; i < args length; i++ ) {
if(args[i].equals( "a7" )) continue;
System.out.println(args[i]);
} }
Trang 20Làm việc với mảng
Trang 21Gán dữ liệu vào mảng (1)
public class Test{
public static void main(String args[]){
i nt [] input;
for ( i nt i = 0; i < args length; i++ ) {
input[i] = Integer.parseInt(args[i]);
} }
Trang 22Gán dữ liệu vào mảng (2)
public class Test{
public static void main(String args[]){
i nt [] input = new int[args length ];
for ( i nt i = 0; i < args length; i++ ) {
input[i] = Integer.parseInt(args[i]);
} }
}
Chạy chương trình:
>java Test 15 19 150
>java Test
Trang 23Gán dữ liệu vào mảng (3)
public class Test{
public static void main(String args[]){
i nt [] input;
if(args != null){
input = new int[args length ];
for ( i nt i = 0; i < args length; i++ ) {
input[i] = Integer.parseInt(args[i]);
} }
Trang 24Nhập dữ liệu từ bàn phím
Trang 26Scanner scr = new Scanner(System.in);
try {
String inputStr = scr.readLine();
int inputInt = scr.nextInt();
} catch (IOException e) {
System.out.println(e);
}
Trang 27byte [] in = new byte [1024];
while (( input read(in)) != -1) {
//do something with data
Trang 28try {
DataInputStream input = new
DataInputStream(System in );
String in = input readUTF();
//do something with data
input close();
} catch (IOException e){
System.out.println(e);
}
Trang 29Ví dụ (1)
// các số cách nhau bởi dấu trống
InputStreamReader br = new InputStreamReader(System.in);
try {
// đọc một dòng từ bàn phím
String input = br.readLine();
// tách các số cách nhau bởi dấu trống
String[] tmpStr = input.split( " " );
// khởi tạo mảng cần lưu dữ liệu
int[] result = new int[tmpStr length ];
// gán các số vào mảng kết quả, có chuyển từ String sang int
for ( i nt i = 0; i < tmpStr length; i++ ) {
result[i] = Integer.parseInt(tmpStr[i]);
} } catch (IOException e) {
System.out.println(e);
}
Trang 30Ví dụ (2)
public class Test{
public static void main(String args[]){
InputStreamReader br = new InputStreamReader(System.in);
try {
String input = br.readLine();
String[] tmpStr = input.split( " " );
int[] result = new int[tmpStr length ];
for ( i nt i = 0; i < tmpStr length; i++ ) {
result[i] = Integer.parseInt(tmpStr[i]);
} } catch (IOException e) {
System.out.println(e);
}
}
}
Trang 31Bài tập
Viết chương trình nhận một ma trận hai
chiều, chứa các số, từ bàn phím
Trang 32Giới thiệu bài tập lớn:
Ô số sudoku
Trang 33Ô số sudoku: mức độ dễ (1)
Source: http://www.sudokukingdom.com/
Trang 34Ô số sudoku: mức độ dễ (2)
Trang 35Ô số sudoku: khó vừa
Source: http://www.sudokukingdom.com/
Trang 36Ô số sudoku: khó
Trang 37Ô số sudoku: rất khó
Source: http://www.sudokukingdom.com/
Trang 38Questions?