实验9-1 Method的使用(二)
1. 将一个整数逆序输出
输入一个正整数repeat (0 要求定义并调用函数reverse(number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。 例:括号内是说明 输入 4 (repeat=4) 123456 -100 -2 99 输出 654321 -1 -2 99 import class Test50009{ public static void main(String args[]){ int ri,repeat; long n, res; Scanner in=new Scanner; repeat=(); for(ri=1;ri<=repeat;ri++){ n=(); /*---------*/ res=reverse(n); } } /*---------*/ static long reverse(long number){ int flag=1; long a=0,digit; if(number<0){ flag=-1; number=-number; } while(number>0){ digit=number; //分离出个位数字 a=a*10+digit; //形成当前的逆序数 number=number/10; } return flag*a; } } 2. 十进制转换二进制 输入一个正整数 repeat (0 例:括号内是说明 输入: 3 (repeat=3) 15 100 0 输出: 1111 1100100 0 import class Test50010{ public static void main(String args[]){ int ri,repeat; int i,n; Scanner in=new Scanner; repeat=(); for(ri=1;ri<=repeat;ri++){ n=(); /*---------*/ dectobin(n); } } /*---------*/ static void dectobin(int n){ String t=\保存二进制数 do { t=n%2+t; //n除2后的余数拼接到t的前面 n=n/2; //获得除2后的商 }while(n>0); //本方法无返回值,需要在方法体中输出结果 } } 说明:本题中方法dectobin(n)的输出虽然与要求有所出入,但上传是正确的。 3. 用函数求三个数的最大值 输入一个正整数repeat (0 输入三个整数a、b和c,输出其中较大的数。要求定义和调用函数max(a, b, c)找出a、b、c中较大的数,函数形参a、b和c的类型是int。 输入输出示例:括号内是说明 输入 3 (repeat=3) 输入: 5 8 9 (a=5, b=8) -1 -10 -5 (a=-1, b=-10) 1 1 1 (a=1, b=1) 输出: max(5,8,9)=9 max(-1,-10,-5)=-1 max(1,1,1)=1 import class Test50011 { public static void main(String args[]) { int ri, repeat; int a,b,c,maximun; Scanner in=new Scanner; repeat=(); for (ri=1; ri<= repeat; ri++) { a=(); b=(); c=(); /*-----------------*/ maximun=maximun(a,b,c); \ } } /*-------------------*/ static int maximun(int a,int b,int c){ int max; max=a; if(max