Java 数组排序字母排序
这是给定的代码:Java 数组排序字母排序,java,arrays,sorting,Java,Arrays,Sorting,这是给定的代码: // bubbleSort.java // demonstrates bubble sort // to run this program: C>java BubbleSortApp //////////////////////////////////////////////////////////////// class ArrayBub { private long[] a; // ref to array a priva
// bubbleSort.java
// demonstrates bubble sort
// to run this program: C>java BubbleSortApp
////////////////////////////////////////////////////////////////
class ArrayBub
{
private long[] a; // ref to array a
private int nElems; // number of data items
//--------------------------------------------------------------
public ArrayBub(int max) // constructor
{
a = new long[max]; // create the array
nElems = 0; // no items yet
}
//--------------------------------------------------------------
public void insert(long value) // put element into array
{
a[nElems] = value; // insert it
nElems++; // increment size
}
//--------------------------------------------------------------
public void display() // displays array contents
{
for(int j=0; j<nElems; j++) // for each element,
System.out.print(a[j] + " "); // display it
System.out.println("");
}
//--------------------------------------------------------------
public void bubbleSort()
{
int out, in;
for(out=nElems-1; out>1; out--) // outer loop (backward)
for(in=0; in<out; in++) // inner loop (forward)
if( a[in] > a[in+1] ) // out of order?
swap(in, in+1); // swap them
} // end bubbleSort()
//--------------------------------------------------------------
private void swap(int one, int two)
{
long temp = a[one];
a[one] = a[two];
a[two] = temp;
}
//--------------------------------------------------------------
} // end class ArrayBub
////////////////////////////////////////////////////////////////
class BubbleSortApp
{
public static void main(String[] args)
{
int maxSize = 100; // array size
ArrayBub arr; // reference to array
arr = new ArrayBub(maxSize); // create the array
arr.insert(77); // insert 10 items
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.insert(88);
arr.insert(11);
arr.insert(00);
arr.insert(66);
arr.insert(33);
arr.display(); // display items
arr.bubbleSort(); // bubble sort them
arr.display(); // display them again
} // end main()
} // end class BubbleSortApp
////////////////////////////
//bubbleSort.java
//演示冒泡排序
//要运行此程序:C>java BubbleSortApp
////////////////////////////////////////////////////////////////
类ArrayBub
{
private long[]a;//对数组a的引用
private int nElems;//数据项的数量
//--------------------------------------------------------------
公共ArrayBub(int max)//构造函数
{
a=新长[max];//创建数组
nElems=0;//还没有项目
}
//--------------------------------------------------------------
public void insert(长值)//将元素放入数组
{
a[nElems]=value;//插入它
nElems++;//增量大小
}
//--------------------------------------------------------------
public void display()//显示数组内容
{
for(int j=0;j1;out--)//外循环(向后)
for(in=0;in[in+1])//顺序错误?
交换(in,in+1);//交换它们
}//end bubbleSort()
//--------------------------------------------------------------
私有无效交换(整数1,整数2)
{
长期温度=一[一];
a[一]=a[两];
a[两]=温度;
}
//--------------------------------------------------------------
}//结束类ArrayBub
////////////////////////////////////////////////////////////////
类BubbleSortApp
{
公共静态void main(字符串[]args)
{
int maxSize=100;//数组大小
ArrayBub arr;//对数组的引用
arr=newarraybub(maxSize);//创建数组
arr.insert(77);//插入10项
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.insert(88);
arr.insert(11);
arr.insert(00);
arr.insert(66);
arr.insert(33);
arr.display();//显示项目
arr.bubbleSort();//冒泡排序
arr.display();//再次显示它们
}//结束main()
}//结束类BubbleSortApp
////////////////////////////
我需要改变这个程序,让它插入字符串并按字母顺序显示。这就是我到目前为止所做的:
class ArrayBub
{
private String[] a; // ref to array a
private String nElems; // number of data items
//--------------------------------------------------------------
public ArrayBub(int max) // constructor
{
a = new String[max]; // create the array
nElems = ""; // no items yet
}
//--------------------------------------------------------------
public void insert(String value) // put element into array
{
a[nElems] = value; // insert it
nElems++; // increment size
}
//--------------------------------------------------------------
public void display() // displays array contents
{
for(int j=0; j<nElems; j++) // for each element,
System.out.print(a[j] + " "); // display it
System.out.println("");
}
//--------------------------------------------------------------
public void bubbleSort()
{
String out;
String in;
for(out=nElems-1; out>1; out--) // outer loop (backward)
for(in=0; in<out; in++) // inner loop (forward)
if( a[in] > a[in+1] ) // out of order?
swap(in, in+1); // swap them
} // end bubbleSort()
//--------------------------------------------------------------
private void swap(String one, String two)
{
String temp = a[one];
a[one] = a[two];
a[two] = temp;
}
//--------------------------------------------------------------
} // end class ArrayBub
////////////////////////////////////////////////////////////////
class BubbleSortApp
{
public static void main(String[] args)
{
int maxSize = 100; // array size
ArrayBub arr; // reference to array
arr = new ArrayBub(maxSize); // create the array
arr.insert("hello");
arr.insert("this");
arr.insert("is");
arr.insert("a");
arr.insert("random");
arr.insert("weird ");
arr.insert("sentence");
arr.insert("that");
arr.insert("does");
arr.insert("not");
arr.insert("make");
arr.insert("any");
arr.insert("sense");
arr.display(); // display items
arr.bubbleSort(); // bubble sort them
arr.display(); // display them again
} // end main()
} // end class BubbleSortApp
类ArrayBub
{
私有字符串[]a;//对数组a的引用
私有字符串nElems;//数据项的数量
//--------------------------------------------------------------
公共ArrayBub(int max)//构造函数
{
a=新字符串[max];//创建数组
nElems=“;//还没有项目
}
//--------------------------------------------------------------
public void insert(字符串值)//将元素放入数组
{
a[nElems]=value;//插入它
nElems++;//增量大小
}
//--------------------------------------------------------------
public void display()//显示数组内容
{
for(int j=0;j1;out--)//外循环(向后)
for(in=0;in[in+1])//顺序错误?
交换(in,in+1);//交换它们
}//end bubbleSort()
//--------------------------------------------------------------
私有无效交换(字符串1、字符串2)
{
字符串温度=a[一];
a[一]=a[两];
a[两]=温度;
}
//--------------------------------------------------------------
}//结束类ArrayBub
////////////////////////////////////////////////////////////////
类BubbleSortApp
{
公共静态void main(字符串[]args)
{
int maxSize=100;//数组大小
ArrayBub arr;//对数组的引用
arr=newarraybub(maxSize);//创建数组
arr.insert(“你好”);
arr.插入(“本”);
协议插入(“is”);
协议插入(“a”);
arr.插入(“随机”);
arr.插入(“怪异”);
arr.插入(“句子”);
arr.插入(“该”);
arr.插入(“does”);
协议插入(“非”);
协议插入(“制造”);
协议插入(“任何”);
arr.insert(“sense”);
arr.display();//显示项目
arr.bubbleSort();//冒泡排序
arr.display();//再次显示它们
}//结束main()
}//结束类BubbleSortApp
我有很多错误。我很难将正确的函数从变量更改为字符串。一旦我在代码中达到某个点,我就明白了,但是我不能将它用于其他函数等等
Arrays.sort(a);
这将按字母顺序排列数组“a”
这将按字母顺序排列数组“a”
这将按字母顺序排列数组“a”
这将按字母顺序排列数组“a”如果您有具体问题,请询问。但是一个通用的“修复我代码中的所有错误”在SoC上是不起作用的,输入大写字母也不会有帮助。@Ascalonian-我同意。Thomas,你把nElems改成了字符串类型,但是你在后面的评论说它应该包含一个数字。这样一个低级的误解让我们很难知道除了为您重写所有代码之外,我们还能在哪里帮助您。尽管如此,感谢您的反馈。。我正在努力成为一个更好的提问者:)事实上,这并不完全是帽子。奥皮特意避免将第一人称单数代词大写。如果你有具体问题,请提问。但是一个通用的“修复我代码中的所有错误”在SoC上是不起作用的,输入大写字母也不会有帮助。@Ascalonian-我同意。Thomas,你把nElems改成了字符串类型,但是你在后面的评论说它应该包含一个数字。这样一个低级的误解让我们很难知道除了为您重写所有代码之外,我们还能在哪里帮助您。尽管如此,感谢您的反馈。。我正在努力成为一个更好的提问者:)事实上,这并不完全是帽子。奥皮不遗余力地避免将冷杉资本化