多行的标准输入
问题描述:
我是Java的初学者。我写这段代码在CMD上进行编译。多行的标准输入
public class AA {
public static void main (String[] args){
int line=Integer.parseInt(args[0]);
int i=0;
while(i<line){
double first_input = StdIn.readDouble();
double second_input = StdIn.readDouble();
double third_input = StdIn.readDouble();
double average = first_input * 0.2 + second_input * 0.4 + third_input * 0.4;
line-=1
StdOut.println(average+"is..");
}
}
}
虽然我在寻找这样的:
2 15 22
2 5 77
15,2 is...
33,2 is...
我得到的输出仅仅是这样的:
2 15 22
15,2 is...
2 5 77
33,2 is...
我尝试过很多方法,但我没有得到解决。有一些我看不到的技巧吗?
答
根据我的理解,我会将计算值添加到变量中,然后一旦输入了所有值,就会显示存储的值。
当然有多种方式来实现这个目标,但也许一个简单的方法是使用StringBuffer。
public static void main(String[] args)
{
int line = Integer.parseInt(args[ 0 ]);
int i = 0;
StringBuffer sb = new StringBuffer();
while (i < line)
{
double first_input = StdIn.readDouble();
double second_input = StdIn.readDouble();
double third_input = StdIn.readDouble();
double average = first_input * 0.2 + second_input * 0.4 + third_input * 0.4;
sb.append(average);
sb.append(" is..\n");
line -= 1;
}
StdOut.println(sb.toString());
}
仅供参考,似乎OP所使用的库http://introcs.cs.princeton.edu/java/stdlib/,它旨在利用一个参数,它是反复运行的次数。