דף 1 מתוך 1

פרמטרים משורת פקודה

נשלח: 22:45 22/05/2010
על ידי TA_Ariel
הפרמטרים שמקבלים בשורת פקודה נמצאים במערך ה Args המערך ההוא שהmain מקבל.
ניתן לבדוק את הגודל שלו וכך לדעת כמה פרמטרים קיבלתם ולפעול בהתאם.
Args[0] יכיל את הפרמטר הראשון וכך הלאה.

Re: פרמטרים משורת פקודה

נשלח: 11:42 23/05/2010
על ידי TA_Ariel
Command-Line Arguments

A Java application can accept any number of arguments from the command line. This allows the user to specify configuration information when the application is launched.

The user enters command-line arguments when invoking the application and specifies them after the name of the class to be run. For example, suppose a Java application called Sort sorts lines in a file. To sort the data in a file named friends.txt, a user would enter:

java Sort friends.txt

When an application is launched, the runtime system passes the command-line arguments to the application's main method via an array of Strings. In the previous example, the command-line arguments passed to the Sort application in an array that contains a single String: "friends.txt".

Echoing Command-Line Arguments

The Echo example displays each of its command-line arguments on a line by itself:

public class Echo {
public static void main (String[] args) {
for (String s: args) {
System.out.println(s);
}
}
}


The following example shows how a user might run Echo. User input is in italics.

java Echo Drink Hot Java
Drink
Hot
Java

Note that the application displays each word — Drink, Hot, and Java — on a line by itself. This is because the space character separates command-line arguments. To have Drink, Hot, and Java interpreted as a single argument, the user would join them by enclosing them within quotation marks.

java Echo "Drink Hot Java"
Drink Hot Java

Parsing Numeric Command-Line Arguments

If an application needs to support a numeric command-line argument, it must convert a String argument that represents a number, such as "34", to a numeric value. Here is a code snippet that converts a command-line argument to an int:

int firstArg;
if (args.length > 0) {
try {
firstArg = Integer.parseInt(args[0]);
} catch (NumberFormatException e) {
System.err.println("Argument must be an integer");
System.exit(1);
}
}

parseInt throws a NumberFormatException if the format of args[0] isn't valid. All of the Number classes — Integer, Float, Double, and so on — have parseXXX methods that convert a String representing a number to an object of their type.

Re: פרמטרים משורת פקודה

נשלח: 16:49 23/05/2010
על ידי matandro
אפשר הסבר לאיזה פרמטרים אתם רוצים
כי לחלק הראשון מבקשים 2 קבצים שמכילים מספרים (וקובץ output) ולחלק השני קובץ קוד שנהפוך לקובץ מספרים
מה בדיוק אמור להיות בתכנית הראשית? למי היא אמורה לקרוא לאיזה מבין החלקים?
ולמה אכפת לתכנית שמקבלת קובץ טקסט והופכת אותו למספר מהו k?

Re: פרמטרים משורת פקודה

נשלח: 18:08 23/05/2010
על ידי adiadi
מערך args הוא מערך מסוג String למרות שבתכלס האיברים בתוכו הם int.
לא כ"כ ברור לי איך צריך להתייחס לכל איבר במערך string או int? ואם אני רוצה להתייחס אליהם בתור int האם צריך לעשות המרה כמו שכתוב למעלה עם ה Integer.parseInt?
והאם ההמרה הופכת את האיברים ל Integer?
איך בעצם צריך להתייחס למערך המספרים? מערך של מה?

Re: פרמטרים משורת פקודה

נשלח: 19:09 23/05/2010
על ידי TA_Ariel
האיברים הם מחרוזות,. רק פרמטר אחד בו הוא מספר (ה-k), הופכים אותו לint כמו בדוגמא.

Re: פרמטרים משורת פקודה

נשלח: 20:47 23/05/2010
על ידי סטרז'
יש דרך לדעת מראש כמה איברים מתקבלים לי מקובץ הטקסט הראשון וכמה מהשני?
כי לפי מה שהבנתי אם אני אעשה Arg.length אני אקבל את האורך של כל הקלט , שכולל את הקלט הראשון , השם של הפלט , הערך של K ובפוטנציאל עוד קובץ קלט

Re: פרמטרים משורת פקודה

נשלח: 21:12 23/05/2010
על ידי TA_Ariel
תקרא את קובץ הקלט וכך תדע.