String x = "1 -7 2";
String y = "-2 2 1";
输出:
1,-2
-7,2
2,1
我们将使用 x 的第一个负数或正数,y 的第一个数...
String x = "1 -7 2";
String y = "-2 2 1";
输出:
1,-2
-7,2
2,1
我们将使用 x 的第一个负数或正数,y 的第一个数...
在 Java 中,您可以使用 Scanner 类。
String integers = "1 -4 3";
Scanner sc = new Scanner(integers);
while(sc.hasNextInt())
{
System.out.println(sc.nextInt();
}
在 javadocs 中查找 :) http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
只是一个粗略的草图
对于 Java:
您可以使用 split 方法拆分每个字符串,然后您有一个数组,您可以从每个数组中打印出相应的字符。
在java
使用中直接split
作用于空间" "
在空间上c
使用并将它们放入2个整数数组中,然后循环遍历它。迭代第一个数组迭代第二个数组并打印这些数字strtok
' '
odd
even
这处理 x 和 y 大小不同的情况
String x = "1 -7 2";
String y = "-2 2 1";
// Split the strings
String[] xSplit = x.split("\\s+");
String[] ySplit = y.split("\\s+");
// Loop through them
for (int i = 0; i < xSplit.length; i++) {
System.out.print(xSplit[i] + " ");
if (i < ySplit.length)
System.out.print(ySplit[i] + " ");
}
// Print more y if needed
for (int i = xSplit.length; i < ySplit.length; i++) {
System.out.print(ySplit[i] + " ");
}
System.out.println();
在 C 中执行此操作的简单方法:
char * x = "1 -7 2";
char * y = "-2 2 1";
int xs[3], ys[3];
sscanf(x, "%d %d %d", xs, xs+1, xs+2);
sscanf(y, "%d %d %d", ys, ys+1, ys+2);
printf("%d, %d\n%d, %d\n%d, %d\n", xs[0], ys[0], xs[1], ys[1], xs[2], ys[2]);
这应该这样做:
String[] splitX = x.split(" ");
String[] splitY = y.split(" ");
System.out.println(splitX[0]+","+splitY[0]);
System.out.println(splitX[1]+","+splitY[1]);
System.out.println(splitX[2]+","+splitY[2]);