q1:编写程序以打印来自给定输入=
的输出输入:aaa bbb ccc ddd eee fff ggg hhh iii jjj
输出:bbb aaa ddd ccc fff eee hhh ggg jjj iii
解决方案:
package practice;
import java.io.*;
import java.util.*;
public class happy {
public static void main(String args[])
{
Scanner in=new Scanner(System.in);
int n=in.nextInt();
String t;
String arr[]=new String[n];
for(int i=0;i<n;i++)
{
arr[i]=in.nextLine();
t=arr[i];
arr[i]=arr[i+1];
arr[i+1]=t;
}
System.out.println(arr);
}
}
我哪里出错可以请任何人在java中提供解决方案吗?
答案 0 :(得分:-1)
使用Java split()方法将输入字符串拆分,并将输出存储到String数组中。从那里变得容易。
Scanner scanner = new Scanner(System.in);
String [] inputArr = scanner.nextLine().split(" ");
for(int i = 0; i < inputArr.length; i++)
{
if( ( i+1 ) % 2 == 0 )
{
String temp = inputArr[i-1];
inputArr[i-1] = inputArr[i];
inputArr[i] = temp;
}
}
你是成对的两个人。通过使用当前元素的模数可以很容易地检查对(由于索引的工作方式,将其加1)。当if语句触发时(没有余数),它只是交换两个元素。
您也可以使用内置方法,因此如果您想要更清晰且更有效的方法,请查看https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html上的Java文档。