Nhập xuất dữ liệu

Một phần của tài liệu Bài giảng lập trình java phần 1 đh sư phạm kỹ thuật nam định (Trang 50 - 56)

Việc nhập xuất dữ liệu với java sẽ được đề cập chi tiết trong chương 3 của tài liệu này. Tuy nhiên để ứng dụng lý thuyết của chương vào giải quyết bài toán cũng như cài đặt các thử nghiệm để hiểu sau hơn về lý thuyết thì ta cần phải biết những thủ tục nhập xuất cơ bản với java. Vì vậy trong phần này sẽ trình bày một số cách thức để nhập xuất dữ liệu với java qua cửa số lệnh (console).

40

Nhập dữ liệu là tác vụ đưa các dữ liệu cụ thể vào cho biến trong chương trình. Như vậy, phải có một nguồn chứa dữ liệu (bàn phím, tập tin, biến khác).

Xuất dữ liệu là tác vụ đưa trị cụ thể của biến trong chương trình ra một nơi chứa (màn hình hay file hay biến khác).

Nhập/xuất dữ liệu là các phương tiện mà chương trình tương tác với người dùng và thường không thể thiếu trong đa số các ứng dụng. Thường có hai cơ chế nhập xuất dữ liệu có tương tác với người dùng là:

 Nhập xuất dữ liệu trong các ứng dụng console application

 Nhập/xuất dữ liệu thông qua các phần tử trên GUI. Cách 1 thường dùng trong các ứng dụng chạy theo cơ chế tuần tự còn cách 2 được áp dụng trong các ứng dụng hướng cửa sổ.

Việc nhập/xuất dữ liệu với java sẽ được đề cập chi tiết trong chương 3 của tài liệu này. Trong phần này chỉ trình bày một số cách thức đơn giản để nhập xuất dữ liệu trong các ứng dụng console application.

a) Xuất dữ liệu

Java cung cấp class System mô tả hệ thống trong đó có chứa 2 đối tượng mặc định dùng để nhập và xuất dữ liệu đó là System.in và System.out.

Để xuất dữ liệu ra màn ta hình dùng 2 phương thức của đối tượng System.out đó là:

 System.out.print(<Dữ liệu xuất>)

 System.out.println([Dữ liệu xuất]);

Trong đó dữ liệu xuất có thể là : ký tự, số, chuỗi,…print là xuất ra màn hình mà không xuống dòng, còn println là xuất ra màn hình và con trỏ sẽ tựđộng xuống dòng.

Ví dụ 1.22: sau đây sẽ xuất ra màn hình một xâu và giá trị của biến

class OutputExam{

public static void main(String args[]) {

int a=10,b=30;

System.out.print(“Tong cua ” + a + “ + ” + b + “ = ” + (a+b)); }

}

Kết quả chạy chương trình là: Tong cua 10 + 30 = 40

41

b) Nhập dữ liệu

Nhập dữ liệu từ bàn phím khá phức tạp vì với mỗi dữ liệu có cách nhập khác nhau: Ký tự thì chỉ cần 1 phím, số nguyên, số thực có thể nhập với nhiều phím nên các phím nhập cần giữ lại bộđệm (Buffer), có thể cần kiểm tra phím nhập.

Java cung cấp 2 gói dữ liệu java.io và java.util chứa các lớp cho việc nhập xuất Gói dữ liệu java.io có các lớp Reader, BufferedReader, InputStream, OutputStrean,…, có chứa các phương thức cho việc nhập dữ liệu (chi tiết sẽ được nghiên cứu ởchương 3).

Ví dụ 1.23: Sau sẽ giúp nhập xuất với các kiểu dữ liệu khác nhau sử dụng các đối tượng của gói java.io

import java.io.*; // file InOutDemo.java class InOutDemo

{ public static void main(String args []) throws java.io.IOException {

Reader inputChar_Obj = new InputStreamReader(System.in); System.out.print("Input a character:");

char c = (char)inputChar_Obj.read() ;

System.out.println(" character read :" + c);

BufferedReader input_Obj= new BufferedReader(new InputStreamReader( System.in));

System.out.print("Input an Integer:");

int n= Integer.valueOf( input_Obj.readLine()).intValue() ; System.out.println(" integer read :" + n);

System.out.print("Input a Double:");

double x= Double.valueOf( input_Obj.readLine()).doubleValue() ; System.out.println(" Double read :" + x);

System.out.print("Input a string:"); String s = input_Obj.readLine();

System.out.println(" String read :" + s); System.out.print("Input a character:"); int m = System.in.read() ;

42

System.out.println(" Code of this character :" + m); } } Kết quả thực hiện chương trình Input a character:r character read :r Input an Integer:123 integer read :123 Input a Double:12.908 Double read :12.908 Input a string:Hello String read :Hello Input a character:A

Code of this character:65

Gói java.util cũng cung cấp lớp Scanner cũng có các phương thức cho việc nhập xuất các loại dữ liệu như: nextLine, next, nextInt, nextFloat, nextDouble,…,

Ví dụ 1.24:Sau đây sử dụng lớp Scanner để nhập dữ liệu

import java.util.Scanner; public class InOutScan {

public static void main(String[] args) { int tuoi;

String ten;

Scanner nhapDuLieu = new Scanner(System.in); System.out.print("Nhập Tên: ");

ten = nhapDuLieu.nextLine(); System.out.print("Nhập Tuổi: "); tuoi = nhapDuLieu.nextInt();

System.out.println("\nTên Vừa Nhập:" + ten+"\n"); System.out.println("Tuổi Vừa Nhập: " + tuoi); }

43

}

Kết quả chạy chương trình:

Câu hỏi và bài tập chƣơng 1

1. Viết chương trình thực hiện các công việc sau: a. Nhập vào 3 sốnguyên dương a, b, c

b. Kiểm tra nếu a, b, c, là 3 cạnh của một tam giác thì tính diện tích, chu vi của tam giác tạo thành bởi 3 cạnh a, b, c đó. Ngược lại thông báo không phải 3 cạnh của tam giác.

2. Viết chương trình thực hiện các công việc sau: a. Nhập vào một số nguyên n

b. Kiểm tra xem có phải n>0 không, nếu đúng thì tính n! và in kết quả ra màn hình, ngược lại thì thông báo ra màn hình n <0.

3.Viết chương trình thực hiện các công việc sau:

a. Nhập vào từ bàn phím 2 số thực a, b và một ký tự là một phép toán (pheptoan) b. Kiểm tra phép toán nhập vào có phải là một trong các phép toán: +, -, *, / không. Nếu đúng tính giá trị của biểu thức a pheptoan b (ví dụ phép toán là + thì tính a+b) và hiển thị kết quảra màn hình ngược lại thông báo lỗi (chú ý yêu cầu kiểm soát cả lỗi chia cho 0).

4.Viết chương trình thực hiện các công việc sau:

a. Nhập vào từ bàn phím 2 số nguyên là tử số và mẫu số của một phân số.

b. Thực hiện tính toán để tìm phân số tối giản của phân sốđã nhập và in kết quả ra màn hình.

5. Viết chương trình thực hiện các công việc sau: a. Nhập vào từ bàn phím 2 số nguyên a và b.

44 6. Viết chương trình thực hiện các công việc sau:

a. Nhập vào từ bàn phím 3 số nguyên a, b và c.

b. Tìm nghiệm của phương trình bậc hai ax2+bx +c=0 và in kết quả ra màn hình 7. Viết chương trình thực hiện các công việc sau:

a. Nhập vào từ bàn phím một sốnguyên dương n.

b. Tính tổng s = 1/2+1/4+...+1/2*n và in kết quả s ra màn hình. 8. Viết chương trình thực hiện các công việc sau:

a. Nhập vào từ bàn phím một sốnguyên dương n.

b. Tính tổng s = 1+1/3+...+1/(2*n+1) và in kết quả s ra màn hình. 9. Viết chương trình thực hiện các công việc sau:

a. Nhập vào từ bàn phím một sốnguyên dương n.

b. Tính tổng s = 1+1/2-1/3+...+(-1)n*1/n và in kết quả s ra màn hình. 10. Viết chương trình thực hiện các công việc sau:

a. Nhập vào từ bàn phím một số nguyên n (0<n<100) và một mảng gồm n số nguyên.

b. Hiển thị mảng đã nhập ra màn hình

c. Tìm phần tử lớn nhất trong mảng và in vị trí của phần tửđó ra màn hình. d. Sắp xếp mảng theo thứ tựtăng dần rồi in mảng sau sắp xếp ra màn hình. 11. Viết chương trình thực hiện các công việc sau:

a. Nhập vào từ bàn phím một số nguyên n (0<n<100) và một mảng gồm n số nguyên.

b. Hiển thị mảng đã nhập ra màn hình

c. Tìm phần tử lớn nhất trong mảng và in vị trí của phần tửđó ra màn hình. d. Sắp xếp mảng theo thứ tự giảm dần rồi in mảng sau sắp xếp ra màn hình.

45

CHƢƠNG 2: LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG TRONG JAVA

Một phần của tài liệu Bài giảng lập trình java phần 1 đh sư phạm kỹ thuật nam định (Trang 50 - 56)

Tải bản đầy đủ (PDF)

(146 trang)