Dos命令行中怎么向Java程序传递参数

Dos命令行中怎么向Java程序传递参数,第1张

javac Testjava
java Test 参数1 参数2 参数3
PS:main方法有一个 String[] args ,该参数是一个字符串数组,用来接收从命令行输入的参数。

public static void main(String args[])
这个args[]数组就是接受命令行参数的,例如有一个yourClass类:
/> java yourClass arg1 arg2
那么args[]就是
args[0] = arg1;
args[1] = arg2;
以此类推

try {
Reader reader = new InputStreamReader(new FileInputStream(args[0]));
Writer writer = new OutputStreamWriter(new FileOutputStream(args[1]));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}

public class Translate{
public static void main(String[] args) throws Exception{
int i = 0;
String s = "";
while((i=Systeminread())!='\n'){
s+=(char)i;
}
numberToEnglish(s);
}
private static void numberToEnglish(String src){
//这里就是你已实现的方法
}
}
以上就是命令行输入的正解, (既然是命令行输入,就要用到Systemin这个对象)
在命令提示符下运行( java Translate ),程序会等待你输入一些信息,输入完成后按回车结束

Systemoutprintln(args[i]);}}你在命令行下输入:java Test abcdefg结果出输出abcdefg这个程序里的args就是命令行参数fun(int a)这里的a是函数fun里的参数,主函数里的参数就叫做命令行参数,你在运行程序的时候会键入文件名,而键入文件名的同时键入了程序运行时所需的数据,这个数据就是你键入的命令行参数

看这段代码吧,希望对你有帮助
java排序法
package comcucutest;

public class Sort {

public void swap(int a[], int i, int j) {
int tmp = a;
a = a[j];
a[j] = tmp;
}

public int partition(int a[], int low, int high) {
int pivot, p_pos, i;
p_pos = low;
pivot = a[p_pos];
for (i = low + 1; i <= high; i++) {
if (a > pivot) {
p_pos++;
swap(a, p_pos, i);
}
}
swap(a, low, p_pos);
return p_pos;
}

public void quicksort(int a[], int low, int high) {
int pivot;
if (low < high) {
pivot = partition(a, low, high);
quicksort(a, low, pivot - 1);
quicksort(a, pivot + 1, high);
}

}

public static void main(String args[]) {
int vec[] = new int[] { 37, 47, 23, -5, 19, 56 };
int temp;
//选择排序法(Selection Sort)
long begin = SystemcurrentTimeMillis();
for (int k = 0; k < 1000000; k++) {
for (int i = 0; i < veclength; i++) {
for (int j = i; j < veclength; j++) {
if (vec[j] > vec) {
temp = vec;
vec = vec[j];
vec[j] = temp;
}
}

}
}
long end = SystemcurrentTimeMillis();
Systemoutprintln("选择法用时为:" + (end - begin));
//打印排序好的结果
for (int i = 0; i < veclength; i++) {
Systemoutprintln(vec);
}
// 冒泡排序法(Bubble Sort)
begin = SystemcurrentTimeMillis();
for (int k = 0; k < 1000000; k++) {
for (int i = 0; i < veclength; i++) {
for (int j = i; j < veclength - 1; j++) {
if (vec[j + 1] > vec[j]) {
temp = vec[j + 1];
vec[j + 1] = vec[j];
vec[j] = temp;
}
}

}
}
end = SystemcurrentTimeMillis();
Systemoutprintln("冒泡法用时为:" + (end - begin));
//打印排序好的结果
for (int i = 0; i < veclength; i++) {
Systemoutprintln(vec);
}

//插入排序法(Insertion Sort)
begin = SystemcurrentTimeMillis();
for (int k = 0; k < 1000000; k++) {
for (int i = 1; i < veclength; i++) {
int j = i;
while (vec[j - 1] < vec) {
vec[j] = vec[j - 1];
j--;
if (j <= 0) {
break;
}
}
vec[j] = vec;
}
}
end = SystemcurrentTimeMillis();
Systemoutprintln("插入法用时为:" + (end - begin));
//打印排序好的结果
for (int i = 0; i < veclength; i++) {
Systemoutprintln(vec);
}

//快速排序法(Quick Sort)

Sort s = new Sort();
begin = SystemcurrentTimeMillis();
for (int k = 0; k < 1000000; k++) {
squicksort(vec, 0, 5);
}
end = SystemcurrentTimeMillis();
Systemoutprintln("快速法用时为:" + (end - begin));
//打印排序好的结果
for (int i = 0; i < veclength; i++) {
Systemoutprintln(vec);
}
}

}
//------------------------------------
以下是运行结果:
选择法用时为:234
56
47
37
23
19
-5
冒泡法用时为:172
56
47
37
23
19
-5
插入法用时为:78
56
47
37
23
19
-5
快速法用时为:297
56
47
37
23
19
-5

import javaioInputStream;
import javautilScanner;
public class Test{

public static void main(String args[ ]){
int[] array=new int[10];
Scanner sc=new Scanner(Systemin);
for(int i=0;i<arraylength;i++){
Systemoutprint("请输入数字:");
array[i]=scnextInt();
Systemoutprintln("保存了"+(i+1)+"个数字");
}
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13197920.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-19
下一篇 2023-06-19

发表评论

登录后才能评论

评论列表(0条)

保存