带参数的方法
< 访问修饰符> 返回类型 < 方法名>(< 参数列表>){
// 方法的主体
}
<访问修饰符>指该方法允许被访问调用的权限范围,只能是 public、protected 或private。其中 public 访问修饰符表示该方法可以被任何其他代码调用。
返回类型指方法返回值的类型。如果方法不返回任何职,它应该声明为 void 类型。使用 return 关键字返回值。
<方法名>是定义的方法的名字,它必须使用合法的标识符。
<参数列表>是传送给方法的参数列表。列表中各参数间以逗号分隔,每个参数由一个类型。和一个标识符名组成。参数列表的格式为:数据类型 参数 1,数据类型 参数 2,......,数据类型 参数 n。其中 n>=0。
public class StudentsBiz {
String[] names = new String[30];
// 学员姓名数组
public void addName(String name){
// 增加学生姓名---有参方法
for(int i =0;i<names.length;i++){
if(names[i]==null){
names[i]=name;
break;
}
}
}
public void showNames() // 显示学生姓名---无参方法
{
System.out.println("本班学生列表:");
for(int i =0;i<names.length;i++){
if(names[i]!=null){
System.out.print(names[i]+"\t");
}
}
System.out.println();
}
}
带参方法的调用
对象名. 方法名( 变量 1, 变量 2,......, 变量 n);
调用方法时,需要注意以下两点。
1·先实例化对象,再调使用方法。
2·实参的类型、数量、顺序都要与形参一一对应。
例如:
import java.util.Scanner;
public class TestAdd {
public static void main(String[] args) {
StudentsBiz st = new StudentsBiz();
Scanner input = new Scanner(System.in);
for(int i=0;i<5;i++){
System.out.print("请输入学生姓名:");
String newName = input.next();
st.addName(newName);
}
st.showNames(); // 显示全部学生的信息
}
}
综合实例:
根据三角形的三条边长,判断其是直角、钝角、还是锐角三角形,程序的功能要求如下。
² 先输入三角形三条边的边长
² 判断能否构成三角形,构成三角形的条件是“任意两边之和大于第三边”。如果不能构成三
角形则提示“不是三角形!”。
² 如果能构成三角形,判断三角形是何种三角形。如果三角形的任意一条边的平方等于其他
两条边平方的和,则为直角三角形;如果任意一条边的平方大于其他两条边平方的和,则
为钝角三角形;否则,为锐角三角形
import java.util.*;
class Triangle
{
public static void main(System[] args)
{
Scanner input=new Scanner(System.in);
String e ="";
do
{
System.out.println("请输入第一条边");
int a=input.nextInt();
System.out.println("请输入第二条边");
int b=input.nextInt();
System.out.println("请输入第三条边");
int c=input.nextInt();
if(islength(a,b,c))
{
System.out.println("这是一个"+shape(a,b,c)+"");
}
else
{
System.out.println("这不是一个三角形");
}
System.out.println("继续吗(y/n)");
e=input.next();
}
while(ch.equals("y") == true | ch.equals("Y") == true);
System.out.println("谢谢使用");
}
public static String shape(int a,int b,int c)
{
if(a*a+b*b==c*c|a*a+c*c==b*b|b*b+c*c==a*a)
{
return "直角三角形";
}
else if(a*a+b*b>c*c|a*a+c*c>b*b|b*b+c*c>a*a)
{
return "锐角三角形";
}
else
{
return "钝角三角形";
}
}
public static boolean islength(int a,int b, int c)
{
if(a+b>c&a+c>b&b+c>a)
{
return true;
}else
{
return false;
}
}
}