就是一个输出数组所有元素以及最大值和最小值的程序,在最后的main中出了问题。
刚刚接触java,对面向对象很不了解,还在把它当C用。这段代码也是看着例子照猫画虎写的。import java.util.Scanner;public class MaxAndMinOfInt
{
private int [] numbers;
private int len;
public MaxAndMinOfInt(Scanner ipt)
{
int k=ipt.nextInt();
this.numbers=new int[k];
for(int i=0;i<k;i++)
{
numbers[i]=ipt.nextInt();
}
len=numbers.length;
}
public void showAll()
{
for(int i=0;i<len;i++)
{
System.out.printf("numbers[%d]=%d\n",i,numbers[i]);
}
}
public int max()
{
int tmp=numbers[0];
for(int i=0;i<len;i++)
{
if(numbers[i]>tmp)tmp=numbers[i];
}
return tmp;
}
public int min()
{
int tmp=numbers[0];
for(int i=0;i<len;i++)
{
if(numbers[i]<tmp)tmp=numbers[i];
}
return tmp;
}
public void main(String [] args)
{
Scanner kbScanner=new Scanner(System.in);
MaxMinOfInt array=new MaxMinOfInt(kbScanner);//此处提示类型不对
array.showAll();
System.out.printf("最小値=%d\n", array.min());
System.out.printf("最大値=%d\n", array.max());
}
}
刚刚接触java,对面向对象很不了解,还在把它当C用。这段代码也是看着例子照猫画虎写的。import java.util.Scanner;public class MaxAndMinOfInt
{
private int [] numbers;
private int len;
public MaxAndMinOfInt(Scanner ipt)
{
int k=ipt.nextInt();
this.numbers=new int[k];
for(int i=0;i<k;i++)
{
numbers[i]=ipt.nextInt();
}
len=numbers.length;
}
public void showAll()
{
for(int i=0;i<len;i++)
{
System.out.printf("numbers[%d]=%d\n",i,numbers[i]);
}
}
public int max()
{
int tmp=numbers[0];
for(int i=0;i<len;i++)
{
if(numbers[i]>tmp)tmp=numbers[i];
}
return tmp;
}
public int min()
{
int tmp=numbers[0];
for(int i=0;i<len;i++)
{
if(numbers[i]<tmp)tmp=numbers[i];
}
return tmp;
}
public void main(String [] args)
{
Scanner kbScanner=new Scanner(System.in);
MaxMinOfInt array=new MaxMinOfInt(kbScanner);//此处提示类型不对
array.showAll();
System.out.printf("最小値=%d\n", array.min());
System.out.printf("最大値=%d\n", array.max());
}
}
import java.util.Scanner;public class MaxAndMinOfInt
{
private int [] numbers;
private int len; public MaxAndMinOfInt(Scanner ipt) {
int k=ipt.nextInt();
this.numbers=new int[k];
for(int i=0;i <k;i++){
numbers[i]=ipt.nextInt();
}
len=numbers.length;
}
public void showAll(){
System.out.println(len+"---------");
for(int i=0;i <len;i++){
System.out.printf("numbers[%d]=%d\n",i,numbers[i]);
}
}
public int max(){
int tmp=numbers[0];
for(int i=0;i <len;i++){
if(numbers[i]>tmp)tmp=numbers[i];
}
return tmp;
}
public int min(){
int tmp=numbers[0];
for(int i=0;i <len;i++){
if(numbers[i] <tmp)tmp=numbers[i];
}
return tmp;
}
public static void main(String[] args){
try {
System.out.println("请输入数组数量: ");
Scanner kbScanner = new Scanner(System.in);
MaxAndMinOfInt array = new MaxAndMinOfInt(kbScanner);//此处提示类型不对
array.showAll();
System.out.printf("最小値=%d\n", array.min());
System.out.printf("最大値=%d\n", array.max());
} catch (RuntimeException e) {
e.printStackTrace();
}
}
}
不过改过来之后问题还有,这回是在编辑器中不提示错误,但运行时出现以下提示,似乎程序本身有问题
---------------------------
Java Virtual Machine Launcher
---------------------------
Fatal exception occurred. Program will exit.
---------------------------
OK
---------------------------
刚才没注意格式,把代码重贴一遍:import java.util.Scanner;public class MaxAndMinOfInt
{
private int [] numbers;
private int len;
public MaxAndMinOfInt(Scanner ipt)
{
int k=ipt.nextInt();
this.numbers=new int[k];
for(int i=0;i<k;i++)
{
numbers[i]=ipt.nextInt();
}
len=numbers.length;
}
public void showAll()
{
for(int i=0;i<len;i++)
{
System.out.printf("numbers[%d]=%d\n",i,numbers[i]);
}
}
public int max()
{
int tmp=numbers[0];
for(int i=0;i<len;i++)
{
if(numbers[i]>tmp)tmp=numbers[i];
}
return tmp;
}
public int min()
{
int tmp=numbers[0];
for(int i=0;i<len;i++)
{
if(numbers[i]<tmp)tmp=numbers[i];
}
return tmp;
}
public void main(String [] args)
{
Scanner kbScanner=new Scanner(System.in);
MaxAndMinOfInt array=new MaxAndMinOfInt(kbScanner);
array.showAll();
System.out.printf("最小値=%d\n", array.min());
System.out.printf("最大値=%d\n", array.max());
}
}