大家好!刚刚学了数组,编程时遇到一些问题,希望各位高手帮我解决一下。import javax.swing.JOptionPane;
class shuzu
{
public static void main(String []args)
{
int [] number =new number [5];
for (int i=0;i<number.length;i++)
{
String str=JOptionPane.showInputDialog("请输入第{i+1}个整数:");
int number [i]=Interger.parseInt(str); [color=#0000FF]//此处总是提示“需要‘[’”,但查不出是什么原因[/color]
}
System.out.println ("输入的数据为:");
for (int i=0;i<number.length;i++)
{
System.out.print (number [i]+"/t");
}
System.out.println ("倒序输出:");
for (int i=4;i>=0;i--)
{
System.out.print (number[i]+"/t");
}
System.out.println ("从小到大输出:");
for (int i=1;i<5;i++)
{
for (int j=0;j<=i;j++)
{
if (number[j]>number[j+i])
{
int a=number[j];
number [j]=number [j+1];
number [j+1]=a;
}
}
}
for (int i=0;i<5;i++)
System.out.print (number[i]+"/t");
}
}
class shuzu
{
public static void main(String []args)
{
int [] number =new number [5];
for (int i=0;i<number.length;i++)
{
String str=JOptionPane.showInputDialog("请输入第{i+1}个整数:");
int number [i]=Interger.parseInt(str); [color=#0000FF]//此处总是提示“需要‘[’”,但查不出是什么原因[/color]
}
System.out.println ("输入的数据为:");
for (int i=0;i<number.length;i++)
{
System.out.print (number [i]+"/t");
}
System.out.println ("倒序输出:");
for (int i=4;i>=0;i--)
{
System.out.print (number[i]+"/t");
}
System.out.println ("从小到大输出:");
for (int i=1;i<5;i++)
{
for (int j=0;j<=i;j++)
{
if (number[j]>number[j+i])
{
int a=number[j];
number [j]=number [j+1];
number [j+1]=a;
}
}
}
for (int i=0;i<5;i++)
System.out.print (number[i]+"/t");
}
}
改成下面这个:for (int i = 0; i < number.length; i++) {
String str = JOptionPane.showInputDialog("请输入第{i+1}个整数:"); number[i] = Integer.parseInt(str); }
把前边的 int 去掉
不是 new int[5]吗Interger 也写错了 是 Integer
下边给个我写的// 递增
public static void bubbleSort(int... arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = arr.length - 1; j > i; j--) {
if (arr[j] < arr[j - 1]) {
arr[j] ^= arr[j - 1];
arr[j - 1] ^= arr[j];
arr[j] ^= arr[j - 1];
}
}
}
}
去掉int
改成number[i] = Integer.parseInt(str);
建立对象以后使用sort()方法就可以解决,不用自己操作
* 数组排序(冒泡排序)
* @param src
* @param srcOff
* @param srcLen
* @param ascending
*/
public static void sort(byte[] src, short srcOff, short srcLen, boolean ascending){
short beginOff = srcOff;
short endOff = (short)(srcOff + srcLen);
short minmaxOff = -1;
byte tmpByte = -1;
while (beginOff < endOff) {
minmaxOff = beginOff;
tmpByte = src[beginOff];
for (short i = (short)(beginOff + 1); i < endOff; i++) {
byte curByte = src[i];
if (ascending) {
if (curByte < tmpByte) {
tmpByte = curByte;
minmaxOff = i;
}
} else {
if (curByte > tmpByte) {
tmpByte = curByte;
minmaxOff = i;
}
}
}
swap(src, beginOff, minmaxOff);
beginOff++;
}
}
if (aOff < 0 || bOff < 0 ||
aOff > src.length || bOff > src.length ||
aOff == bOff) {
return;
}
byte tmpByte;
tmpByte = src[aOff];
src[aOff] = src[bOff];
src[bOff] = tmpByte;
}
我是在javacard上使用,没有ArrayList对象可以用。
ascending参数用于设置升序、降序冒泡。