System.out.print不会让我有两个单独的行

时间:2016-11-28 11:31:38

标签: java

我正在尝试创建一个包含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] + " ");   
        } 
     }
}

2 个答案:

答案 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()相当于一个新行。