下面的程序是在java中,它假设按升序对数组元素进行排序,但它不能正常工作。请尝试下面的程序并解释为什么它没有在'second'数组中存储一些值。第二个数组中的某些值存储为0.这是我无法想象的。请解决此计划并告诉我。谢谢。
public static void main(String[] args) {
int first[]={9,8,2,6,3};
int second[]=new int[5];
for(int i=0;i<first.length;i++){
int count=0;
for(int j=0;j<second.length;j++){
if(first[i]<first[j]){
count++;
}
}
if(count == 0){
second[4]=first[i];
}
if(count == 1){
second[3]=first[i];
}
if(count == 2){
second[2]=first[i];
}
if(count == 3){
second[1]=first[i];
}
if(count == 4){
second[0]=first[i];
}
System.out.print(second[i]);
}
}
答案 0 :(得分:1)
以下代码将执行您的要求:
public class SortIt{
public static void main(String[] args){
int[] arr = {9,8,2,6,3};
boolean a = true;
int index = 0;
int arrBuffer;
int check = 0;
while(a){
if(index + 1 != arr.length){
if(arr[index] > arr[index+1]){
arrBuffer = arr[index+1];
arr[index+1] = arr[index];
arr[index] = arrBuffer;
index += 1;
check = 0;
}
else if(arr[index] <= arr[index+1]){
index += 1;
check += 1;
}
if(check == arr.length){a = false;}
}
else
index = 0;
}
System.out.print("[");
for(int i = 0; i + 1 < arr.length; i++){
System.out.print("'" + arr[i] + "', " );
}
System.out.println("'" + arr[arr.length-1] + "']");
}
}
输入:
9,8,2,6,3
输出:
['2', '3', '6', '8', '9']
答案 1 :(得分:0)
public static void main(String[] args) {
int first[]={9,8,2,6,3};
int second[]=new int[5];
for(int i=0;i<first.length;i++){
int count=0;
for(int j=0;j<second.length;j++){
if(first[i]<first[j]){
count++;
}
}
if(count == 0){
second[4]=first[i];
}
if(count == 1){
second[3]=first[i];
}
if(count == 2){
second[2]=first[i];
}
if(count == 3){
second[1]=first[i];
}
if(count == 4){
second[0]=first[i];
}
//System.out.print(second[i]);
}
for(int a:second){
System.out.println(a);
}
}
答案 2 :(得分:0)
你在循环中打印数组,这就是为什么有些值打印为零.Her是修改后的代码。
public static void main(String[] args) {
int first[]={9,8,2,6,3};
int second[]=new int[5];
for(int i=0;i<first.length;i++){
int count=0;
for(int j=0;j<second.length;j++){
if(first[i]<first[j]){
count++;
}
}
if(count == 0){
second[4]=first[i];
}
if(count == 1){
second[3]=first[i];
}
if(count == 2){
second[2]=first[i];
}
if(count == 3){
second[1]=first[i];
}
if(count == 4){
second[0]=first[i];
}
}
System.out.println(new Gson().toJson(second));
}