A. java 中怎樣輸入參數
你說的是命令行參數
public static void main(String[] args);
通過命令行來向java應用程序傳遞參數。
main方法接收一個一個字元串數組參數;從控制台傳進來的參數都被當作String類型的來處理,如果需要向應用傳遞多個參數,則用空格隔開,如果參數本身用雙引號引起來
執行時的格式: java 類名 參數1 參數2……
例子:
public class Abc{
public static void main(String[] args){
if(args.length!=2){
System.out.println("請按下列方式執行:"+"java Abc 參數1 參數2");
System.exit(0);
}
String a = args[0];
String b = args[1];
System.out.println("第一個參數是:"+a);
System.out.println("第二個參數是:"+b);
}
}
編譯:javac Abc.java
執行:java Abc 參數1 參數2
注意:通過main()方法從控制台接收的參數都是String類型的,如果需要其他
類型參數,需要將接收的String類型參數,顯式的轉換
B. java如何從命令行輸入和輸出數據
import java.util.*;
import java.io.*;
import javax.swing.JOptionPane;
public class SysIn
{
public static void main(String [] args)
{
【java.util包中的Scanner類】
Scanner sc = new Scanner(System.in);
System.out.println("請輸入第一串字元:");
String firStr = sc.next();
System.out.println("你輸入的是" +firStr);
注意事項:next()讀取一個字元串,該字元串在一個空白符之前結束
(2)java輸入命令行參數擴展閱讀
其他java從命令行輸入和輸出數據
1、【java.io包中的BufferedReader類】
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("請輸入第二串字元:");
String secStr=null;
try
{
secStr=bf.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("你輸入的是" + secStr);
注意事項:nextByte()讀取一個byte類型整數--其他類型整數類推
2、【調用 javax.swing.JOptionPane 類】
String jop = JOptionPane.showInputDialog
(null,"Please Input:","InputDialog",JOptionPane,QUESTION_MESSAGE);
System.out.println("你輸入的第三串字元:「 + jop);
}
}
注意事項:nextLine()讀取一行文本
C. Java命令行參數輸入問題
String s = args[1];
char c =Character.valueOf(args[2]).charValue();
字元串轉換成int float double boolean long char 基本也一樣
double d = Double.parseDouble(args[3]);
字串轉成 Integer,Double, Float, Long 的方法大同小異.
以下為貼的別人的總結:
數據類型基本類型有以下四種:
int長度數據類型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、
float長度數據類型有:單精度(32bits float)、雙精度(64bits double)
boolean類型變數的取值有:ture、false
char數據類型有:unicode字元,16位
對應的類類型:Integer、Float、Boolean、Character、Double、Short、Byte、Long轉換原則從低精度向高精度轉換
byte 、short、int、long、float、double、char
註:兩個char型運算時,自動轉換為int型;當char與別的類型運算時,也會先自動轉換為int型的,再做其它類型的自動轉換基本類型向類類型轉換正向轉換:通過類包裝器來new出一個新的類類型的變數
Integer a= new Integer(2);
反向轉換:通過類包裝器來轉換
int b=a.intValue();類類型向字元串轉換正向轉換:因為每個類都是object類的子類,而所有的object類都有一個toString()函數,所以通過toString()函數來轉換即可
反向轉換:通過類包裝器new出一個新的類類型的變數
eg1: int i=Integer.valueOf(「123」).intValue()
說明:上例是將一個字元串轉化成一個Integer對象,然後再調用這個對象的intValue()方法返回其對應的int數值。
eg2: float f=Float.valueOf(「123」).floatValue()
說明:上例是將一個字元串轉化成一個Float對象,然後再調用這個對象的floatValue()方法返回其對應的float數值。
eg3: boolean b=Boolean.valueOf(「123」).booleanValue()
說明:上例是將一個字元串轉化成一個Boolean對象,然後再調用這個對象的booleanValue()方法返回其對應的boolean數值。
eg4:double d=Double.valueOf(「123」).doubleValue()
說明:上例是將一個字元串轉化成一個Double對象,然後再調用這個對象的doubleValue()方法返回其對應的double數值。
eg5: long l=Long.valueOf(「123」).longValue()
說明:上例是將一個字元串轉化成一個Long對象,然後再調用這個對象的longValue()方法返回其對應的long數值。
eg6: char=Character.valueOf(「123」).charValue()
說明:上例是將一個字元串轉化成一個Character對象,然後再調用這個對象的charValue()方法返回其對應的char數值。基本類型向字元串的轉換
正向轉換:
如:int a=12;
String b;b=a+」」;反向轉換:
通過類包裝器
eg1:int i=Integer.parseInt(「123」)
說明:此方法只能適用於字元串轉化成整型變數
eg2: float f=Float.valueOf(「123」).floatValue()
說明:上例是將一個字元串轉化成一個Float對象,然後再調用這個對象的floatValue()方法返回其對應的float數值。
eg3: boolean b=Boolean.valueOf(「123」).booleanValue()
說明:上例是將一個字元串轉化成一個Boolean對象,然後再調用這個對象的booleanValue()方法返回其對應的boolean數值。
eg4:double d=Double.valueOf(「123」).doubleValue()
說明:上例是將一個字元串轉化成一個Double對象,然後再調用這個對象的doubleValue()方法返回其對應的double數值。
eg5: long l=Long.valueOf(「123」).longValue()
說明:上例是將一個字元串轉化成一個Long對象,然後再調用這個對象的longValue()方法返回其對應的long數值。
eg6: char=Character.valueOf(「123」).charValue()說明:上例是將一個字元串轉化成一個Character對象,然後再調用這個對象的charValue()方法返回其對應的char數值。
D. Java命令行輸入是什麼意思
public class Translate{
public static void main(String[] args) throws Exception{
int i = 0;
String s = "";
while((i=System.in.read())!='\n'){
s+=(char)i;
}
numberToEnglish(s);
}
private static void numberToEnglish(String src){
//這里就是你已實現的方法
}
}
以上就是命令行輸入的正解, (既然是命令行輸入,就要用到System.in這個對象)
在命令提示符下運行( java Translate ),程序會等待你輸入一些信息,輸入完成後按回車結束.
E. java命令行參數是什麼意思
這個名詞我們可以分開來看:
「命令行"就是:DOC命令行"了,也就是那個黑色的框框。
"參數就"是程序裡面所需要的"參數"了。
合起來"命令行參數」就是「在DOC下輸入的程序所需的參數」。
F. java 中 用命令行參數接收輸入 如何判斷接收的數據是什麼數據類型
一、在命令行或控制台中接收的數據,都是字元串型,需要強制轉換。
強制轉換時,需做空判斷,如 if(str != null && !str.trim().equals("")){
int i = Integer.parseInt(str);}
二、其他情況判斷數據類型時,可以用java的反射機制。舉個例子:
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String aaa[]) {
Map m = new HashMap();
String s1 = "String1";
String s2 = "String2";
int i1 = 5;
double i2 = 10.5;
m.put(1, s1);
m.put(2, i1);
m.put(3, i2);
m.put(4, s2);
for (int i = 1; i <= m.size(); i++) {
Class returnType = m.get(i).getClass();
System.out.println("return type is of type: "
+ returnType.getSimpleName());
}
}
}
G. 如何用命令行運行java程序及輸入main函數參數的輸入
main函數也可以帶參數。帶參數main函數的定義格式如下:
void main(int argc, char *argv[])
{
... ...
}
argc和argv是main函數的形式參數。這兩個形式參數的類型是系統規定的。如果main函數要帶參數,就是這兩個類型的參數;否則main函數就沒有參數。變數名稱argc和argv是常規的名稱,當然也可以換成其他名稱。
那麼,實際參數是如何傳遞給main函數的argc和argv的呢?我們知道,C程序在編譯和鏈接後,都生成一個exe文件,執行該exe文件時,可以直接執行;也可以在命令行下帶參數執行,命令行執行的形式為:
可執行文件名稱 參數1 參數2 ... ... 參數n
執行文件名稱和參數、參數之間均使用空格隔開。例如,在linux下運行程序./a.out 1 2 ,可執行文件名稱為./a.out,參數1為字元串1,參數2為2。
如果按照這種方法執行,命令行字元串將作為實際參數傳遞給main函數。具體為:
(1) 可執行文件名稱和所有參數的個數之和傳遞給argc;所以上面的argc=3
(2) 可執行文件名稱(包括路徑名稱)作為一個字元串,首地址被賦給argv[0],參數1也作為一個字元串,首地址被賦給argv[1],... ...依次類推。