日期:2014-05-20  浏览次数:20578 次

小弟刚学编程 问一道JAVA编程题目....
题目:

找出几个整数中最小的一个,假设读入的第一个值指定了用户输入的值的个数

小弟的思绪很混乱   学习JAVA3周   大概属于只能看懂   做的很晕的那种

以下是我的写法   希望各位大哥加以斧正...       这里头有错的地方   可我实在想不出了...

import   java.util.Scanner;
public   class   Big  
{
public   static   void   main(String   args[]){
int   i;
int   m;


for(i=0;i <m;i++)
{
System.out.println( "Please   type   in   ");

Scanner   input=new   Scanner(System.in);

m=input.nextInt();

m.determine();



}


}

public   void   determine()
{
int   j;
int   k;
int   max;

Scanner   input=new   Scanner(System.in);

j=input.nextInt();
k=input.nextInt();

if(j> k)
{
max=j;
}
else
{
max=k;
}

System.out.println( "The   Biggest   is   : "+max);
System.out.println();




}

}

------解决方案--------------------
你的程序中的一个错误就是“m.determine();”,这一句话中的m是一个变量,而determine()这个方法只能由Big来调用的,也就是类中的方法应该由类生成的对象来调用。先生成一个类的对象:Big big=new Big();再用big.determine().
我给你改成这样了:

import java.util.Scanner;
public class Big
{
public static void main(String args[]){

int m;
int mmax=0; //存储最大值

Big big=new Big(); //生辰对象

System.out.println( "Please type in ");
Scanner input=new Scanner(System.in);
m=input.nextInt();
int j=input.nextInt();
int k=input.nextInt();
mmax=big.determine(j,k); //对象调用方法求前两个数中最大的

for(int i=0;i <m-2;i++) //循环处理其余的树中最大数并保存在mmax变量中
{

int t=input.nextInt();
mmax=big.determine(mmax,t);//对象调用方法


}
System.out.println( "The Biggest is : "+mmax);


}

public int determine(int j,int k) //此函数求两数中最大数
{

int max;

if(j> k)
{
max=j;
}
else
{
max=k;
}

return max;



}

}