我正在尝试创建一个包含5个数字的数组。当用户输入这些数字时,我希望系统将它们打印出来。然后我想交换第一个和最后一个数字并打印出新的数字行。我尝试过几种方法让它们在不同的线路上运行,没有任何方法可行。 我希望的输出看起来像:
1 2 3 4 5
5 2 3 4 1
这是我到目前为止的代码
import java.util.*;
public class arraySwap
{
public static void main (String[]args)
{
Scanner scan = new Scanner(System.in);
int array[] = new int[5];
int firstNum = 0;
int lastNum = 0;
int temp = 0;
for(int i = 0; i <= array.length-1; i++) {
array[i] = scan.nextInt();
}
for(int i = 0; i <= array.length-1; i++) {
System.out.print(array[i] + " ");
System.out.println(breakline);
}
for(int i = 0; i <= array.length-1; i++) {
firstNum = array[0]; //1
lastNum = array[4]; //5
temp = firstNum; //1
array[0] = lastNum;
array[4] = firstNum;
System.out.print(array[i] + " ");
}
}
}
答案 0 :(得分:0)
更简单的方法可以是
Scanner scan = new Scanner(System.in);
int array[] = new int[5];
int temp = 0;
for(int i = 0; i < array.length; i++) {
array[i] = scan.nextInt();
}
for(int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
System.out.print(array[array.length-1] + " ");
for(int i = 1; i < array.length-1; i++) {
System.out.print(array[i] + " ");
}
System.out.print(array[0] + " ");
System.out.println();
// or
// swap first, then print all the elements
int temp = array[0];
array[0] = array[array.length-1];
array[array.length-1] = temp;
for(int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
答案 1 :(得分:0)
将System.out.println()移到第一个for loop
的末尾。
import java.util.*;
public class arraySwap
{
public static void main (String[]args)
{
Scanner scan = new Scanner(System.in);
int array[] = new int[5];
int firstNum = 0;
int lastNum = 0;
int temp = 0;
for(int i = 0; i <= array.length-1; i++) {
array[i] = scan.nextInt();
}
for(int i = 0; i <= array.length-1; i++) {
System.out.print(array[i] + " ");
// System.out.println(breakline); <-- Remove this..
}
System.out.println(); // Place it here, without the 'breakline' arg.
for(int i = 0; i <= array.length-1; i++) {
firstNum = array[0]; //1
lastNum = array[4]; //5
temp = firstNum; //1
array[0] = lastNum;
array[4] = firstNum;
System.out.print(array[i] + " ");
}
}
}
System.out.println()
相当于一个新行。