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

מנהל: TA_Isana

שלח תגובה
TA_Ariel
הודעות: 261
הצטרף: 00:53 23/04/2009

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

שליחה על ידי TA_Ariel » 22:45 22/05/2010

הפרמטרים שמקבלים בשורת פקודה נמצאים במערך ה Args המערך ההוא שהmain מקבל.
ניתן לבדוק את הגודל שלו וכך לדעת כמה פרמטרים קיבלתם ולפעול בהתאם.
Args[0] יכיל את הפרמטר הראשון וכך הלאה.

TA_Ariel
הודעות: 261
הצטרף: 00:53 23/04/2009

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

שליחה על ידי TA_Ariel » 11:42 23/05/2010

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.

matandro
הודעות: 68
הצטרף: 15:16 26/10/2009

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

שליחה על ידי matandro » 16:49 23/05/2010

אפשר הסבר לאיזה פרמטרים אתם רוצים
כי לחלק הראשון מבקשים 2 קבצים שמכילים מספרים (וקובץ output) ולחלק השני קובץ קוד שנהפוך לקובץ מספרים
מה בדיוק אמור להיות בתכנית הראשית? למי היא אמורה לקרוא לאיזה מבין החלקים?
ולמה אכפת לתכנית שמקבלת קובץ טקסט והופכת אותו למספר מהו k?

adiadi
הודעות: 38
הצטרף: 19:33 25/10/2009

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

שליחה על ידי adiadi » 18:08 23/05/2010

מערך args הוא מערך מסוג String למרות שבתכלס האיברים בתוכו הם int.
לא כ"כ ברור לי איך צריך להתייחס לכל איבר במערך string או int? ואם אני רוצה להתייחס אליהם בתור int האם צריך לעשות המרה כמו שכתוב למעלה עם ה Integer.parseInt?
והאם ההמרה הופכת את האיברים ל Integer?
איך בעצם צריך להתייחס למערך המספרים? מערך של מה?

TA_Ariel
הודעות: 261
הצטרף: 00:53 23/04/2009

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

שליחה על ידי TA_Ariel » 19:09 23/05/2010

האיברים הם מחרוזות,. רק פרמטר אחד בו הוא מספר (ה-k), הופכים אותו לint כמו בדוגמא.

סטרז'
הודעות: 28
הצטרף: 23:25 26/10/2009

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

שליחה על ידי סטרז' » 20:47 23/05/2010

יש דרך לדעת מראש כמה איברים מתקבלים לי מקובץ הטקסט הראשון וכמה מהשני?
כי לפי מה שהבנתי אם אני אעשה Arg.length אני אקבל את האורך של כל הקלט , שכולל את הקלט הראשון , השם של הפלט , הערך של K ובפוטנציאל עוד קובץ קלט

TA_Ariel
הודעות: 261
הצטרף: 00:53 23/04/2009

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

שליחה על ידי TA_Ariel » 21:12 23/05/2010

תקרא את קובץ הקלט וכך תדע.

שלח תגובה

חזור אל “- מבני נתונים 2010”