Mục lục:
Video: Tham số dòng lệnh 2025
Ngày xưa, hầu hết các lập trình viên Java sử dụng một giao diện phát triển dựa trên văn bản. Họ gõ một lệnh trong một cửa sổ nhìn đơn giản, thường có văn bản màu trắng trên nền đen.
Làm thế nào ngu si đần độn!Cửa sổ nhìn đơn giản theo các tên khác nhau, tùy thuộc vào loại hệ điều hành mà bạn sử dụng. Trong Windows, một cửa sổ văn bản loại này là một cửa sổ nhắc lệnh. Trên máy Macintosh và Linux, cửa sổ này là terminal. Một số phiên bản của Linux và UNIX gọi cửa sổ này là một vỏ.
Khi bạn khởi chạy MakeRandomNumsFile, bạn gõ thêm một số thông tin. Trong hình trên, các lập trình viênjava MakeRandomNumsFile để chạy chương trình MakeRandomNumsFile
. Nhưng lập trình viên theo
java MakeRandomNumsFile với hai thông tin bổ sung: MyNumberedFile. txt và 5 . Khi chương trình MakeRandomNumsFile
chạy, chương trình hút thêm hai thông tin bổ sung và sử dụng chúng để làm bất cứ điều gì chương trình phải làm. Chương trình hút lên
MyNumberedFile. txt 5
, nhưng nhân dịp khác, người lập trình có thể gõ
SomeStuff 28 hoặc BunchONumbers 2000 . Các thông tin bổ sung có thể khác nhau mỗi khi bạn chạy chương trình.
Cột này
kinh doanh trong tiêu đề của mỗi phương pháp
chính
. Vâng, đó là thời gian cao bạn tìm ra những gì tất cả về. Tham số
args []
là một mảng các giá trị
Chuỗi
. Các giá trị này
Chuỗi
được gọi là
đối số dòng lệnh.
)
và các lập trình khác viết
public static void main (String public static void main (String [999] args)
Dù sao đi nữa,
args là một mảng các giá trị Chuỗi
.
Sử dụng các đối số dòng lệnh trong một chương trình Java
Đoạn mã này cho bạn thấy cách sử dụng các đối số dòng lệnh.
Đây là cách bạn tạo một tệp có số
nhập khẩu java. util. Ngẫu nhiên;
nhập khẩu java. io. PrintStream;
nhập khẩu java. io. IOException;
public class MakeRandomNumsFile {
public static void main (
String args []
) ném IOException (
Máy phát ngẫu nhiên = new Random ();
if (args.chiều dài <2) (Hệ thống). ngoài. println ("Cách sử dụng: MakeRandomNumsFile số tên tập tin"); Hệ thống. lối ra (1);
}
printStream printOut = new PrintStream (args [0]);
int numLines = Integer. parseInt (args [1]);
cho (đếm int = 1; count <= numLines, count ++) {
printOut. println (máy phát nextInt (10) + 1);
}
printOut. gần();
}
}
Nếu một chương trình cụ thể mong đợi một số đối số dòng lệnh, bạn không thể bắt đầu chương trình chạy cùng một cách mà bạn muốn bắt đầu hầu hết các chương trình bình thường khác. Cách thức bạn truyền các đối số dòng lệnh cho một chương trình phụ thuộc vào IDE mà bạn đang sử dụng - Eclipse, NetBeans hoặc bất cứ điều gì. Allmycode. com có hướng dẫn để đưa các đối số cho các chương trình sử dụng các IDE khác nhau.
Khi mã bắt đầu chạy, mảng
args
sẽ nhận các giá trị của nó. Với việc chạy hiển thị trong hình trên, thành phần mảng
args [0]
sẽ tự động lấy giá trị
"MyNumberedFile. Txt"
và
args [1]
tự động trở thành
"5"
. Vì vậy, các tuyên bố của chương trình kết thúc lên có ý nghĩa sau:
PrintStream printOut = new PrintStream ("MyNumberedFile. Txt");
int numLines = Integer. parseInt ("5");
Chương trình tạo một tập tin có tên là
MyNumberedFile. txt
và đặt
numLines
đến
5
. Vì vậy, sau này trong mã, chương trình ngẫu nhiên tạo ra năm giá trị và đặt những giá trị vào
MyNumberedFile. txt
. Một lần chạy chương trình sẽ cho bạn điều này.
Sau khi chạy mã, bạn có thể tìm thấy tệp tin mới (
MyNumberedFile.txt
) trên ổ cứng của bạn? Câu trả lời phụ thuộc vào rất nhiều thứ khác nhau. Nếu bạn sử dụng một IDE với các chương trình được chia thành các dự án, thì tệp tin mới là ở đâu đó trong thư mục của dự án. Bằng cách này hay cách khác, bạn có thể thay đổi Listing 11-7 để chỉ định tên đường dẫn đầy đủ - tên như
"c: \ Users \ MyName \ Documents \ MyNumberedFile.txt"
hoặc
"/ Users / MyName / Documents / MyNumberedFile. Txt"
.
Trong Windows, các tên đường dẫn tập tin chứa ký tự dấu gạch chéo ngược. Và trong Java, khi bạn muốn chỉ ra một dấu gạch chéo ngược bên trong một chuỗi ký tự được gạch chéo kép, bạn sẽ sử dụng dấu gạch chéo ngược đôi. Đó là lý do tại sao "c: \ Users \ MyName \ Documents \ MyNumberedFile. txt "chứa các cặp dấu gạch chéo ngược. Ngược lại, đường dẫn tệp trong hệ điều hành Linux và Macintosh chứa dấu gạch chéo. Để chỉ ra một dấu gạch chéo phía trước trong một Chuỗi Java, chỉ sử dụng một dấu gạch chéo.
Chú ý mỗi đối số dòng lệnh là giá trị
Chuỗi
. Khi bạn nhìn vào
args [1], bạn không thấy số 5 - bạn thấy chuỗi
"5"
với một ký tự chữ số trong đó. Thật không may, bạn không thể sử dụng
"5"
để thực hiện việc đếm. Để nhận
int
giá trị từ
"5"
, bạn phải áp dụng phương pháp
parseInt
.
Phương thức
parseInt
sống bên trong một lớp có tên là
Số nguyên.
Vì vậy, để gọi
parseInt
, bạn đặt tên cho parseInt bằng từ
Số nguyên.
Lớp Integer có tất cả các loại phương pháp hữu ích để làm việc với giá trị int.
Trong Java, Integer là tên của một lớp, và int là tên của một kiểu nguyên thủy (đơn giản). Hai điều này có liên quan, nhưng chúng không giống nhau. Lớp
Integer
có các phương thức và các công cụ khác để xử lý các giá trị
int
.
Kiểm tra đúng số đối số dòng lệnh
Điều gì xảy ra nếu người dùng mắc phải lỗi? Điều gì sẽ xảy ra nếu người dùng quên đánh số
5
ở dòng đầu tiên
w
hen bạn khởi chạy MakeRandomNumsFile ? Sau đó, máy tính sẽ gán "MyNumberedFile. Txt"
đến
args [0], nhưng nó không gán bất cứ điều gì cho
args [1]
. Thật tệ. Nếu máy tính đã bao giờ đạt đến câu lệnh
int numLines = Integer. parseInt (args [1]);
chương trình gặp sự cố với
ArrayIndexOutOfBoundsException không thân thiện
.
Bạn làm gì về việc này? Bạn kiểm tra độ dài của mảng
args
. Bạn so sánh
args. chiều dài
với
2
. Nếu
args array
có ít hơn hai thành phần, bạn sẽ hiển thị một thông báo trên màn hình và thoát khỏi chương trình.
Mã cho bạn biết cách chạy nó.
Mặc dù kiểm tra
args. chiều dài
, mã vẫn không phải là chống tai nạn. Nếu người dùng nhập vào năm thay vì 5, chương trình sẽ mất một nosedive với
. Đối số dòng lệnh thứ hai không thể là một từ. Đối số phải là một số (và một số nguyên, ở đó). Bạn có thể thêm các câu lệnh để làm cho mã trở nên chống đạn hơn.
Khi bạn đang làm việc với các đối số dòng lệnh, bạn có thể nhập giá trị
Chuỗi
với một không gian trống trong đó. Chỉ cần kèm theo giá trị trong dấu ngoặc kép. Ví dụ, bạn có thể chạy mã ở trên với các đối số
"File Big Fat File của tôi. Txt" 7
.