Java练习题11.2 方法的重载
1.定义三个重载方法,分别用来求两个整数、两个实数、三个整数的平均值,然后分别调用并将结果输出,如下图所示
package com.shangjiti.aoian;
import java.util.Scanner;
public class Done1_1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int num1=sc.nextInt();
int num2=sc.nextInt();
int num3=sc.nextInt();
double num4=sc.nextDouble();
double num5=sc.nextDouble();
System.out.println(avg(num1,num2));
System.out.println(avg(num1,num2,num3));
System.out.println(avg(num4,num5));
}
public static double avg(int a,int b) {
return (a+b)/2.0;
}
public static double avg(int a,int b,int c) {
return (a+b+c)/3.0;
}
public static double avg(double d,double e) {
return (d+e)/2;
}
}
2.首先定义一个方法,用来打印九九乘法表;然后重载该方法,增加一个打印任意行数的九九乘法表的方法
package com.shangjiti.aoian;
import java.util.Scanner;
public class Done2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
print(x);
}
public static void print(){
for (int i = 1; i <= 9; i++){
for(int j = 1; j <= i; j++)
System.out.print(j+"*"+i+"="+j*i+"\t");
System.out.println();
}
}
public static void print(int a){
for (int i = 1; i <= a; i++){
for(int j = 1; j <= i; j++)
System.out.print(j+"*"+i+"="+j*i+"\t");
System.out.println();
}
}
}
3.定义两个重载方法,分别用来求两个整数的较大值、三个整数的最大值
package com.shangjiti.aoian;
public class Done3 {
public static void main(String[] args) {
System.out.println("两个数最大值是:"+max(65,33));
System.out.println("三个数最大值是:"+max(26,75,64));
}
public static int max(int a,int b){
return(a>b)?a:b;
}
public static int max(int a,int b,int c){
int max =(a>b)?a:b;
return(max>c)?max:c;
}
}