java新手,看一下这个小问题 java 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 fudongrifdr 于 2013-10-22 16:57:38 编辑 接楼上,s hao=new s();s.max();1.s从规范来讲,最好大写2.max不是static函数,不可以这么写,改为hao.max另外,max方法中,int t最好声明在method内,不要声明在argument中。(还有就是楼上说的返回类型,只能一个)最后,打开的scanner没有关闭,用q.close()关闭。我把你的代码改改发上来吧 Java函数定义: 返回值类型 函数名(形参列表)int void max(int a,int b, int c, int t)这一句中有两中返回类型啦大哥,按你程序的意思函数体本意是直接输出最大值,所以去掉void就OK啦推荐你看《JAVA2核心技术第1卷.基础知识7th.pdf》 简单的修改了一下,你对比一下。import java.util.Scanner;public class s { public static void main(String [] args){ Scanner in = new Scanner(System.in); System.out.println("Enter three number,please"); int a = in.nextInt(); int b = in.nextInt(); int c = in.nextInt(); max(a,b,c); in.close(); } /*----max method part----*/ static void max(int a,int b,int c){ int t = 0; if(a<b){ t=a;a=b;b=t; } if(a<c){ t=a;a=c;c=t; } if(b<c){ t=b;b=c;c=t; } System.out.println("Sorted Order : "+a+" "+b+" "+c); }}Enter three number,please3 4 5Sorted Order : 5 4 3还有一个错误就是你调用max没有传参。 Scanner in = new Scanner(System.in); System.out.println("Enter three number,please"); int a = in.nextInt(); int b = in.nextInt(); int c = in.nextInt();为什么这个不可以放在max方法下面 输入输出口放在main函数中。这里涉及到多线程以及JVM编译的结束标志问题不多解释了。你想放在max中也可以,在5楼代码中,12行改为:max();16行括号内函数变量删掉8,9,10行代码放在int t=0;下面 s.max()与int void max(int a,int b, int c, int t)不匹配,还有去掉int ,max(int a,int b,int c) s.max() 调用的是 max()方法,你根本就没有这个方法,你有的是max(int a,int b,int c,int t)方法,而且你的t作为一个中转的 属性,完全可以在方法里边定义 int t=0;不需要方法传进去 话说用Scanner in = new Scanner(System.in); int a = in.nextInt(); 可以读入其他类型的数据吗? 用eclipse写的Java文件怎么用propertiesk呀 不会写还得写真的很痛苦,资质太太平啊 哪里有做J2SE的外企? 一个简单的JAVA问题! swing图片显示 java打印PDF文件问题!急! 为什么会出现java.lang.OutOfMemoryError异常? 系统属性 有谁知道java类库的下载地址 怎么用Java程序向邮件服务器中添加、删除用户? 新手,刚学接口和继承,求类图设计! Java连接SQL Sever时的问题(关于怎么在类中连接到SQL Sever)
s hao=new s();
s.max();1.s从规范来讲,最好大写
2.max不是static函数,不可以这么写,改为hao.max另外,max方法中,int t最好声明在method内,不要声明在argument中。(还有就是楼上说的返回类型,只能一个)最后,打开的scanner没有关闭,用q.close()关闭。我把你的代码改改发上来吧
int void max(int a,int b, int c, int t)
这一句中有两中返回类型啦大哥,按你程序的意思函数体本意是直接输出最大值,所以去掉void就OK啦
推荐你看《JAVA2核心技术第1卷.基础知识7th.pdf》
import java.util.Scanner;public class s {
public static void main(String [] args){
Scanner in = new Scanner(System.in);
System.out.println("Enter three number,please");
int a = in.nextInt();
int b = in.nextInt();
int c = in.nextInt();
max(a,b,c);
in.close();
}
/*----max method part----*/
static void max(int a,int b,int c){
int t = 0;
if(a<b){
t=a;a=b;b=t;
}
if(a<c){
t=a;a=c;c=t;
}
if(b<c){
t=b;b=c;c=t;
}
System.out.println("Sorted Order : "+a+" "+b+" "+c);
}
}Enter three number,please
3 4 5
Sorted Order : 5 4 3还有一个错误就是你调用max没有传参。
System.out.println("Enter three number,please");
int a = in.nextInt();
int b = in.nextInt();
int c = in.nextInt();
为什么这个不可以放在max方法下面
输入输出口放在main函数中。
这里涉及到多线程以及JVM编译的结束标志问题不多解释了。你想放在max中也可以,在5楼代码中,12行改为:max();
16行括号内函数变量删掉
8,9,10行代码放在int t=0;下面
int a = in.nextInt();
可以读入其他类型的数据吗?