由面试题出来的
为了显示 myStr = 23 这样的结果,写出在控制台输入的命令
public class MyClass {
public static void main(String args[]) {
String s1 = args[0];
String s2 = args[1];
String myStr = args[2]; System.out.printin(“myStr =” + s2 + myStr); }
}
答:java MyClass 1 2 3 4
想不通,后来网上搜索是在cmd下先编译后写入参数运行MyClass
后来在mac终端上尝试,直接在此类的目录下执行
java Test 1 2 3
一直报错:找不到或无法加载主类
后来搜索了,提示编译在此类的所在目录,但是运行要退回到包的上一级目录下,例如:
package com.example.demo.test;
/**
* @ProjectName demo
* @ClassName Test
* @Description TODO
* @Author jing
* @Date 2018/10/25 19:38
* @Version 1.0
**/
public class Test {
public static void main(String arg[]) {
String s1 = arg[0];
String s2 = arg[1];
String s3 = arg[2];
System.out.print("s3=" + s2 + s3);
}
}
所以,在mac终端下,退回到目录
完整目录 demo/src/main/java/com/example/demo/test
退回到java这个目录下,执行
hhh:java jing$ java com.example.demo.test.Test 1 2 3
就成功了
s3=23