Java 尝试根据用户输入交换数组元素
因此,我必须交换数组中的两个元素,其中有5个值,但要交换的两个元素必须从键盘中获取。前一个问题是交换到特定的数字,我已经完成了,但我不知道如何从键盘上获取数字以用于交换。其中一些是前一个版本的遗留内容,我知道必须交换的元素Java 尝试根据用户输入交换数组元素,java,arrays,Java,Arrays,因此,我必须交换数组中的两个元素,其中有5个值,但要交换的两个元素必须从键盘中获取。前一个问题是交换到特定的数字,我已经完成了,但我不知道如何从键盘上获取数字以用于交换。其中一些是前一个版本的遗留内容,我知道必须交换的元素 import java.util.Scanner; public class Swap2 { public static void main(String []args) { Scanner keyboardIn = new Scanner (System.in
import java.util.Scanner;
public class Swap2 {
public static void main(String []args) {
Scanner keyboardIn = new Scanner (System.in);
int[] numbers = new int []{12,9,33,28,5};
int temp = 0, first, second;
System.out.println ("Before the swap: ");
for(int i=0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
System.out.println();
System.out.println ("Enter the first number to swap:");
first = keyboardIn.nextInt();
System.out.println ("Enter the second number to swap:");
second = keyboardIn.nextInt();
System.out.println ();
temp = numbers[3];
numbers [3] = numbers [1];
numbers [1] = temp;
System.out.println ("After the swap:");
for (int i = 0; i < numbers.length; i++) {
System.out.print (numbers[i] + " ");
}
}
}
import java.util.Scanner;
公共类交换2{
公共静态void main(字符串[]args){
扫描仪键盘输入=新扫描仪(System.in);
int[]数字=新的int[]{12,9,33,28,5};
int temp=0,第一,第二;
System.out.println(“交换前:”);
for(int i=0;i
实际上,您并不是在交换用户输入的数字,而是在用1st
交换4th
元素
要交换元素,您需要找出它们所属的索引
public static int indexOf(int []arr, int ele)
{
for(int i = 0; i < arr.length; ++i)
if(arr[i] == ele)
return i;
return -1;
}
你为什么不试试这个呢。请记住,数组索引从0开始
import java.util.Scanner;
public class Swap2
{
public static void main(String []args)
{
Scanner keyboardIn = new Scanner (System.in);
int[] numbers = new int []{12,9,33,28,5};
int temp, first, second;
System.out.println ("Before the swap: ");
for(int i=0; i < numbers.length; i++)
{
System.out.print(numbers[i] + " ");
}
System.out.println ();
System.out.println ("Enter the first number to swap:");
first = keyboardIn.nextInt();
System.out.println ("Enter the second number to swap:");
second = keyboardIn.nextInt();
System.out.println ();
temp = numbers[first];
numbers [first] = numbers [second];
numbers [second] = temp;
System.out.println ("After the swap:");
for (int i = 0; i < numbers.length; i++)
{
System.out.print (numbers[i] + " ");
}
}
}
import java.util.Scanner;
公共类交换2
{
公共静态void main(字符串[]args)
{
扫描仪键盘输入=新扫描仪(System.in);
int[]数字=新的int[]{12,9,33,28,5};
内部温度,第一,第二;
System.out.println(“交换前:”);
for(int i=0;i
您必须定义索引
import java.util.Scanner;
public class Swap {
public static void main(String[] args) {
Scanner keyboardIn = new Scanner(System.in);
/* enter code here */int[] numbers = new int[] { 12, 9, 33, 28, 5 };
int temp = 0, first, second;
int index1 = 0 , index2 = 0;
int j , k ;
System.out.println("Before the swap: ");
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
System.out.println();
System.out.println("Enter the first number to swap:");
first = keyboardIn.nextInt();
System.out.println("Enter the second number to swap:");
second = keyboardIn.nextInt();
System.out.println();
for(k = 0 ; k < numbers.length; k++){
if(numbers[k] == first)
index1 = k;
}
for(j = 0 ; j < numbers.length; j++){
if(numbers[j] == second)
index2 = j;
}
temp = numbers[index1];
numbers[index1] = numbers[index2];
numbers[index2] = temp;
System.out.println("After the swap:");
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
}
}
import java.util.Scanner;
公共类交换{
公共静态void main(字符串[]args){
扫描仪键盘输入=新扫描仪(System.in);
/*在此处输入代码*/int[]numbers=newint[]{12,9,33,28,5};
int temp=0,第一,第二;
int index1=0,index2=0;
int j,k;
System.out.println(“交换前:”);
for(int i=0;i
是的,在我试图找出如何使用户输入元素成为被交换的元素时,上一个问题是将第1个元素与第4个元素交换,这一点是遗留下来的。@Ant695所以这就是您的操作方法:PThanks这真的很有帮助。
import java.util.Scanner;
public class Swap {
public static void main(String[] args) {
Scanner keyboardIn = new Scanner(System.in);
/* enter code here */int[] numbers = new int[] { 12, 9, 33, 28, 5 };
int temp = 0, first, second;
int index1 = 0 , index2 = 0;
int j , k ;
System.out.println("Before the swap: ");
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
System.out.println();
System.out.println("Enter the first number to swap:");
first = keyboardIn.nextInt();
System.out.println("Enter the second number to swap:");
second = keyboardIn.nextInt();
System.out.println();
for(k = 0 ; k < numbers.length; k++){
if(numbers[k] == first)
index1 = k;
}
for(j = 0 ; j < numbers.length; j++){
if(numbers[j] == second)
index2 = j;
}
temp = numbers[index1];
numbers[index1] = numbers[index2];
numbers[index2] = temp;
System.out.println("After the swap:");
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
}
}