Java 使用从命令行发送的参数运行程序
我需要我的程序接受一个字符串参数并将字符拆分。 然后,我想将这些单独的字符添加到ArrayList中,并打印出列表,每个字符都在列表下方 以下是我所拥有的:Java 使用从命令行发送的参数运行程序,java,command-line,arraylist,Java,Command Line,Arraylist,我需要我的程序接受一个字符串参数并将字符拆分。 然后,我想将这些单独的字符添加到ArrayList中,并打印出列表,每个字符都在列表下方 以下是我所拥有的: import java.util.*; import java.io.*; public class Main { public static void main(String[] args) { try{ BufferedReader br = new BufferedReader(new InputStrea
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter argument:");
String input = br.readLine();
String value = "";
ArrayList al = new ArrayList();
for(int i = 0; i < input.length(); i++){
value = "" + input.charAt(i);
al.add(value);
}
Iterator it = al.iterator();
while(it.hasNext()){
System.out.println(it.next());
it.remove();
}
}catch(IOException e){
System.out.println(e.toString());
}
}
}
import java.util.*;
导入java.io.*;
公共班机{
公共静态void main(字符串[]args){
试一试{
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
System.out.println(“输入参数:”);
字符串输入=br.readLine();
字符串值=”;
ArrayList al=新的ArrayList();
对于(int i=0;i
参数应来自命令行,例如:
javamyapplesley
提前感谢导入java.util.*;
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
try{
String input = String.valueOf(args[0]);//assuming there will always be an input from command line
String value = "";
ArrayList al = new ArrayList();
for(int i = 0; i < input.length(); i++){
value = "" + input.charAt(i);
al.add(value);
}
Iterator it = al.iterator();
while(it.hasNext()){
System.out.println(it.next());
it.remove();
}
}catch(IOException e){
System.out.println(e.toString());
}
}
}
导入java.io.*;
公共班机{
公共静态void main(字符串[]args){
试一试{
String input=String.valueOf(args[0]);//假设总是有来自命令行的输入
字符串值=”;
ArrayList al=新的ArrayList();
对于(int i=0;i
尝试此操作这些参数存储在
字符串[]args
数组中
就像我写的。。。但是如果有参数,您应该检查args数组
If (args.length != 0) {
do something
}
编辑:
如果使用命令行运行程序,则必须首先使用
javac pathtofile
比你能用的还多
java pathtofile
你为什么这么难
if(input.contains("java myApp Lesley"){
window.window(); //new class where u create the window
}
命令行参数通过其参数
String[]args
传递给main方法。
由于这对于调用程序的人来说并不总是显而易见的,因此在缺少参数时给出提示是一种很好的方式。例如:
if (args.length == 0) {
System.out.println("Usage: myApp <Name>");
}
else {
// your code here using args[0]
}
if(args.length==0){
System.out.println(“用法:myApp”);
}
否则{
//您的代码在此使用args[0]
}
如果您使用的是多个命令行参数,请相应地更改检查。您在上述程序中使用的是用户输入而不是命令行参数参数参数“Lesley”可以在
args[0]
中找到。当我运行以下命令行时,我收到一个java.lang.NoClassDefFoundError:java(我文件的目标)Armant。。。有什么建议吗??我调用错了吗?你编译了你的.java吗?javac path/to/your/file在该java路径/to/your/file之后,当我运行以下命令行时,我得到一个java.lang.NoClassDefFoundError:java(我文件的目标)Armandt。。。有什么建议吗??我调用它是错误的吗?直到你的.class文件的路径?一定是这样。或者简单的方法是转到clas路径(编译此代码后生成.class文件的地方),然后从那里运行java Armant:Documents and settings\ArrA\Prac2\build\classes\Prac2\Main检查该路径下是否存在类文件,然后运行set-CLASSPATH=“C:\Documents and settings\ArrA\Prac2\build\classes\Prac2\”并直接运行以下java主程序,谢谢您的帮助,非常成功