菜鸟问题.这个程序就是输入10个数放到数组中.然后输出它的最大最小数..我是想调用java.util.Arrays里面的sort方法
把数组升序排一下.然后在输入.然而在调用sort时出现了以下几种问题.为什么这样写就不对了.我不明白.请详解.详细者给满分.不是分的问题.就是要绝对详解.不够我另开贴加....
=================================================================================================
方法1:
/**
* @(#)lesson4_2.java
*
*
* @author
* @version 1.00 2008/4/29
*/import javax.swing.JOptionPane;
import java.util.*;
class ssssss // extends Arrays
{
public static void main(String args[]){
String number1;
String number2;
String number3;
String number4;
String number5;
String number6;
String number7;
String number8;
String number9;
String number10;
int num1,num2,num3,num4,num5,num6,num7,num8,num9,num10;
int max,min;
number1=JOptionPane.showInputDialog("aaa请输入第一个整数:");
number2=JOptionPane.showInputDialog("请ss输入第二个整数:");
number3=JOptionPane.showInputDialog("请输入第三个整数:");
number4=JOptionPane.showInputDialog("请输入第四个整数:");
number5=JOptionPane.showInputDialog("请输入第五个整数:");
number6=JOptionPane.showInputDialog("请输入第六个整数:");
number7=JOptionPane.showInputDialog("请输入第七个整数:");
number8=JOptionPane.showInputDialog("请输入第八个整数:");
number9=JOptionPane.showInputDialog("请输入第九个整数:");
number10=JOptionPane.showInputDialog("请输入第十个整数:");
num1=Integer.parseInt(number1);
num2=Integer.parseInt(number2);
num3=Integer.parseInt(number3);
num4=Integer.parseInt(number4);
num5=Integer.parseInt(number5);
num6=Integer.parseInt(number6);
num7=Integer.parseInt(number7);
num8=Integer.parseInt(number8);
num9=Integer.parseInt(number9);
num10=Integer.parseInt(number10);
int sum[]={num1,num2,num3,num4,num5,num6,num7,num8,num9,num10}; //java.util.Arrays.sort(sum);
//sort(sum);
Arrays a=new Arrays();
a.sort(sum);
JOptionPane.showMessageDialog(null,"最大数是和最小数"+sum[9]+"----"+sum[0],"结果",JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
=====================================================
以上是.为什么我用 Arrays a=new Arrays(); a.sort(sum); 这个去调用sort会有错.我也导入他的包了..
=======================================================================================
第2个:
/**
* @(#)lesson4_2.java
*
*
* @author
* @version 1.00 2008/4/29
*/import javax.swing.JOptionPane;
import java.util.*;
class ssssss extends Arrays
{
public static void main(String args[]){
String number1;
String number2;
String number3;
String number4;
String number5;
String number6;
String number7;
String number8;
String number9;
String number10;
int num1,num2,num3,num4,num5,num6,num7,num8,num9,num10;
int max,min;
number1=JOptionPane.showInputDialog("aaa请输入第一个整数:");
number2=JOptionPane.showInputDialog("请ss输入第二个整数:");
number3=JOptionPane.showInputDialog("请输入第三个整数:");
number4=JOptionPane.showInputDialog("请输入第四个整数:");
number5=JOptionPane.showInputDialog("请输入第五个整数:");
number6=JOptionPane.showInputDialog("请输入第六个整数:");
number7=JOptionPane.showInputDialog("请输入第七个整数:");
number8=JOptionPane.showInputDialog("请输入第八个整数:");
number9=JOptionPane.showInputDialog("请输入第九个整数:");
number10=JOptionPane.showInputDialog("请输入第十个整数:");
num1=Integer.parseInt(number1);
num2=Integer.parseInt(number2);
num3=Integer.parseInt(number3);
num4=Integer.parseInt(number4);
num5=Integer.parseInt(number5);
num6=Integer.parseInt(number6);
num7=Integer.parseInt(number7);
num8=Integer.parseInt(number8);
num9=Integer.parseInt(number9);
num10=Integer.parseInt(number10);
int sum[]={num1,num2,num3,num4,num5,num6,num7,num8,num9,num10}; //java.util.Arrays.sort(sum);
sort(sum);
//Arrays a=new Arrays();
// a.sort(sum);
JOptionPane.showMessageDialog(null,"最大数是和最小数"+sum[9]+"----"+sum[0],"结果",JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
===========================================================================================
以上是为什么我用extends Arrays..去继承..为什么还是有错....
============================================================================================
第3个:
/**
* @(#)lesson4_2.java
*
*
* @author
* @version 1.00 2008/4/29
*/import javax.swing.JOptionPane;
import java.util.*;
class ssssss // extends Arrays
{
public static void main(String args[]){
String number1;
String number2;
String number3;
String number4;
String number5;
String number6;
String number7;
String number8;
String number9;
String number10;
int num1,num2,num3,num4,num5,num6,num7,num8,num9,num10;
int max,min;
number1=JOptionPane.showInputDialog("aaa请输入第一个整数:");
number2=JOptionPane.showInputDialog("请ss输入第二个整数:");
number3=JOptionPane.showInputDialog("请输入第三个整数:");
number4=JOptionPane.showInputDialog("请输入第四个整数:");
number5=JOptionPane.showInputDialog("请输入第五个整数:");
number6=JOptionPane.showInputDialog("请输入第六个整数:");
number7=JOptionPane.showInputDialog("请输入第七个整数:");
number8=JOptionPane.showInputDialog("请输入第八个整数:");
number9=JOptionPane.showInputDialog("请输入第九个整数:");
number10=JOptionPane.showInputDialog("请输入第十个整数:");
num1=Integer.parseInt(number1);
num2=Integer.parseInt(number2);
num3=Integer.parseInt(number3);
num4=Integer.parseInt(number4);
num5=Integer.parseInt(number5);
num6=Integer.parseInt(number6);
num7=Integer.parseInt(number7);
num8=Integer.parseInt(number8);
num9=Integer.parseInt(number9);
num10=Integer.parseInt(number10);
int sum[]={num1,num2,num3,num4,num5,num6,num7,num8,num9,num10}; java.util.Arrays.sort(sum);
//sort(sum);
//Arrays a=new Arrays();
// a.sort(sum);
JOptionPane.showMessageDialog(null,"最大数是和最小数"+sum[9]+"----"+sum[0],"结果",JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
============================================================================
为什么直接用java.util.Arrays.sort(sum);就是对的.请详解..谢谢
==========================================================================
把数组升序排一下.然后在输入.然而在调用sort时出现了以下几种问题.为什么这样写就不对了.我不明白.请详解.详细者给满分.不是分的问题.就是要绝对详解.不够我另开贴加....
=================================================================================================
方法1:
/**
* @(#)lesson4_2.java
*
*
* @author
* @version 1.00 2008/4/29
*/import javax.swing.JOptionPane;
import java.util.*;
class ssssss // extends Arrays
{
public static void main(String args[]){
String number1;
String number2;
String number3;
String number4;
String number5;
String number6;
String number7;
String number8;
String number9;
String number10;
int num1,num2,num3,num4,num5,num6,num7,num8,num9,num10;
int max,min;
number1=JOptionPane.showInputDialog("aaa请输入第一个整数:");
number2=JOptionPane.showInputDialog("请ss输入第二个整数:");
number3=JOptionPane.showInputDialog("请输入第三个整数:");
number4=JOptionPane.showInputDialog("请输入第四个整数:");
number5=JOptionPane.showInputDialog("请输入第五个整数:");
number6=JOptionPane.showInputDialog("请输入第六个整数:");
number7=JOptionPane.showInputDialog("请输入第七个整数:");
number8=JOptionPane.showInputDialog("请输入第八个整数:");
number9=JOptionPane.showInputDialog("请输入第九个整数:");
number10=JOptionPane.showInputDialog("请输入第十个整数:");
num1=Integer.parseInt(number1);
num2=Integer.parseInt(number2);
num3=Integer.parseInt(number3);
num4=Integer.parseInt(number4);
num5=Integer.parseInt(number5);
num6=Integer.parseInt(number6);
num7=Integer.parseInt(number7);
num8=Integer.parseInt(number8);
num9=Integer.parseInt(number9);
num10=Integer.parseInt(number10);
int sum[]={num1,num2,num3,num4,num5,num6,num7,num8,num9,num10}; //java.util.Arrays.sort(sum);
//sort(sum);
Arrays a=new Arrays();
a.sort(sum);
JOptionPane.showMessageDialog(null,"最大数是和最小数"+sum[9]+"----"+sum[0],"结果",JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
=====================================================
以上是.为什么我用 Arrays a=new Arrays(); a.sort(sum); 这个去调用sort会有错.我也导入他的包了..
=======================================================================================
第2个:
/**
* @(#)lesson4_2.java
*
*
* @author
* @version 1.00 2008/4/29
*/import javax.swing.JOptionPane;
import java.util.*;
class ssssss extends Arrays
{
public static void main(String args[]){
String number1;
String number2;
String number3;
String number4;
String number5;
String number6;
String number7;
String number8;
String number9;
String number10;
int num1,num2,num3,num4,num5,num6,num7,num8,num9,num10;
int max,min;
number1=JOptionPane.showInputDialog("aaa请输入第一个整数:");
number2=JOptionPane.showInputDialog("请ss输入第二个整数:");
number3=JOptionPane.showInputDialog("请输入第三个整数:");
number4=JOptionPane.showInputDialog("请输入第四个整数:");
number5=JOptionPane.showInputDialog("请输入第五个整数:");
number6=JOptionPane.showInputDialog("请输入第六个整数:");
number7=JOptionPane.showInputDialog("请输入第七个整数:");
number8=JOptionPane.showInputDialog("请输入第八个整数:");
number9=JOptionPane.showInputDialog("请输入第九个整数:");
number10=JOptionPane.showInputDialog("请输入第十个整数:");
num1=Integer.parseInt(number1);
num2=Integer.parseInt(number2);
num3=Integer.parseInt(number3);
num4=Integer.parseInt(number4);
num5=Integer.parseInt(number5);
num6=Integer.parseInt(number6);
num7=Integer.parseInt(number7);
num8=Integer.parseInt(number8);
num9=Integer.parseInt(number9);
num10=Integer.parseInt(number10);
int sum[]={num1,num2,num3,num4,num5,num6,num7,num8,num9,num10}; //java.util.Arrays.sort(sum);
sort(sum);
//Arrays a=new Arrays();
// a.sort(sum);
JOptionPane.showMessageDialog(null,"最大数是和最小数"+sum[9]+"----"+sum[0],"结果",JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
===========================================================================================
以上是为什么我用extends Arrays..去继承..为什么还是有错....
============================================================================================
第3个:
/**
* @(#)lesson4_2.java
*
*
* @author
* @version 1.00 2008/4/29
*/import javax.swing.JOptionPane;
import java.util.*;
class ssssss // extends Arrays
{
public static void main(String args[]){
String number1;
String number2;
String number3;
String number4;
String number5;
String number6;
String number7;
String number8;
String number9;
String number10;
int num1,num2,num3,num4,num5,num6,num7,num8,num9,num10;
int max,min;
number1=JOptionPane.showInputDialog("aaa请输入第一个整数:");
number2=JOptionPane.showInputDialog("请ss输入第二个整数:");
number3=JOptionPane.showInputDialog("请输入第三个整数:");
number4=JOptionPane.showInputDialog("请输入第四个整数:");
number5=JOptionPane.showInputDialog("请输入第五个整数:");
number6=JOptionPane.showInputDialog("请输入第六个整数:");
number7=JOptionPane.showInputDialog("请输入第七个整数:");
number8=JOptionPane.showInputDialog("请输入第八个整数:");
number9=JOptionPane.showInputDialog("请输入第九个整数:");
number10=JOptionPane.showInputDialog("请输入第十个整数:");
num1=Integer.parseInt(number1);
num2=Integer.parseInt(number2);
num3=Integer.parseInt(number3);
num4=Integer.parseInt(number4);
num5=Integer.parseInt(number5);
num6=Integer.parseInt(number6);
num7=Integer.parseInt(number7);
num8=Integer.parseInt(number8);
num9=Integer.parseInt(number9);
num10=Integer.parseInt(number10);
int sum[]={num1,num2,num3,num4,num5,num6,num7,num8,num9,num10}; java.util.Arrays.sort(sum);
//sort(sum);
//Arrays a=new Arrays();
// a.sort(sum);
JOptionPane.showMessageDialog(null,"最大数是和最小数"+sum[9]+"----"+sum[0],"结果",JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
============================================================================
为什么直接用java.util.Arrays.sort(sum);就是对的.请详解..谢谢
==========================================================================
Arrays 中的方法sort是静态的直接可以调用,不用创建任何对象
例如:Arrays.sort(sum);
来创建该类的实例是不允许的,另外,它内部的所有方法都是static的,这样的话,你要调用它的方法,就只能通过Arrays.***这样的方式来调用了.
Arrays a=new Arrays();//这个不能实例化,没有构造方法,它都是静态方法,没必要实例化
a.sort(sum);
改为Arrays .sort(sum); 第二:因为Arrays类没有构造方法,因为你继承了它,所以你的构造方法里面要调用父类的构造方法,但是Arrays没有构造方法,所以出错!第三:因为以上的原因,你只能采取第三种了!因为它是无构造方法的,里面全是静态方法,sun就是这么设计的,不让别人继承这个类,可以看做是final的!
没有这种说法的。Arrays 整个属于工具类,它里面的都是工具方法,没有必要让
它产生对象了,所以说设计者就把空构造给私有了。同样的设计在 java.lang.System 也是这样子的。另外,便用 Integer.parseInt 这个方法作为工具是静态的,
但是 Integer 也有两个构造可以用于产生对象的。