Java 数组索引超出范围
虽然我尝试使用Java 数组索引超出范围,java,indexoutofboundsexception,bubble-sort,Java,Indexoutofboundsexception,Bubble Sort,虽然我尝试使用break解决异常,但在输入“321”时仍然失败。hackerrank上气泡排序的代码 如果(a[i+1]==n),则错误发生在上 import java.io.*`` 导入java.util.*; 导入java.text.*; 导入java.math.*; 导入java.util.regex.*; 公共类解决方案{ 公共静态void main(字符串[]args){ 扫描仪输入=新扫描仪(系统输入); int n=in.nextInt(); int[]a=新的int[n]; fo
break
解决异常,但在输入“321”时仍然失败。hackerrank上气泡排序的代码
如果(a[i+1]==n),则错误发生在上
import java.io.*``
导入java.util.*;
导入java.text.*;
导入java.math.*;
导入java.util.regex.*;
公共类解决方案{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int n=in.nextInt();
int[]a=新的int[n];
for(int a_i=0;a_i
}您的条件i您的条件i只要将for循环中的条件更改为i只要将for循环中的条件更改为i
import java.io.*;``
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] a = new int[n];
for(int a_i=0; a_i < n; a_i++){
a[a_i] = in.nextInt();
}
// Write Your Code Here
int numSwaps=0;
for(int i=0;i<n;i++){
if(a[i+1]==n){ // error occurs here
break;
}
else{
if(a[i]>a[i+1]){
int temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
numSwaps++;
}
}
}
//firstElement=a[0];
//lastElement=a[n-1];
System.out.println("Array is sorted in"+" "+numSwaps+" "+"swaps."+"\n"+"First Element:"+" "+a[0]+"\n"+"Last Element:"+" "+a[n-1]);
}
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] a = new int[n];
for(int a_i=0; a_i < n; a_i++){
a[a_i] = in.nextInt();
}
// Write Your Code Here
int numSwaps=0;
for(int i=0;i<n-1;i++){
if(a[i+1]==n){
break;
} else if(a[i]>a[i+1]){
int temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
numSwaps++;
}
}
//firstElement=a[0];
//lastElement=a[n-1];
System.out.println("Array is sorted in"+" "+numSwaps+" "+"swaps."+"\n"+"First Element:"+" "+a[0]+"\n"+"Last Element:"+" "+a[n-1]);
}