Java 如何从命令行获取分数?
我想用命令行得到两个分数。 比如javafraction.java2/51/9 但是我不知道怎么读斜杠 有没有办法从命令行读取分数 公共静态void main(字符串[]args){Java 如何从命令行获取分数?,java,command-line,fractions,slash,Java,Command Line,Fractions,Slash,我想用命令行得到两个分数。 比如javafraction.java2/51/9 但是我不知道怎么读斜杠 有没有办法从命令行读取分数 公共静态void main(字符串[]args){ java分数2/51/9表示args[0]=“2/5”和args[1]=“1/9” 所以你需要从每个参数中提取分子,斜杠和分母,就像这个例子 String numerator = args[0].substring(0,arg1.indexOf('/')); String slash = args[
java分数2/51/9
表示args[0]=“2/5”和args[1]=“1/9”
所以你需要从每个参数中提取分子,斜杠和分母,就像这个例子
String numerator = args[0].substring(0,arg1.indexOf('/'));
String slash = args[0].charAt(arg1.indexOf('/'));
String denominator = args[0].substring(arg1.indexOf('/')+1,arg1.length());
每个参数都被视为单个字符串,因此索引将是整个分数 e、 g
for(int i=0;i
注意
ArrayIndexOutOfBounds
如果参数中没有“/”等,您的命令行shell几乎肯定没有内置的分数支持。因此argv[1]
将是“2/5”,而argv[2]
将是“1/9”。您可能需要定义一种方法以斜杠拆分这些数字,并将第一部分指定为分子,第二部分指定为分母
拆分字符串有无数种方法--
string.split()
是一个很好的起点。这将为每个分数提供一个由两个字符串组成的数组(希望如此)。然后需要使用例如Integer.parseInt()将分子和分母转换为数字
看来其他一些贡献者很好心地提供了代码,让您没有任何工作要做;)
String numerator = args[0].substring(0,arg1.indexOf('/'));
String slash = args[0].charAt(arg1.indexOf('/'));
String denominator = args[0].substring(arg1.indexOf('/')+1,arg1.length());
for (int i = 0; i < args.length; i++) {
String fraction = args[i]; //Would be equal to "2/5" for the first argument etc
String parts = fraction.split("/");
int num = Integer.parseInt(parts[0]);
int denom = Integer.parseInt(parts[1]);
}