浙大java语言程序设计编程答案8
萌到你眼炸
970次浏览
2021年01月26日 19:39
最佳经验
本文由作者推荐
-
实验
9-1
Method
的使用
(
二
)
1.
将一个整数逆序输出
输入一个正整数
repeat (0
repeat
次下列运算:
输入一个整数,将它逆序输出。
要求定义并调用函数
reverse(nu mber)
,它的功能是返回
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%10; //
分离出个位数字
a=a*10+digit;
//
形成当前的逆序数
number=number/10;
}
return flag*a;
}
}
2.
十进制转换二进制
输入一个正整数
repeat (0
repeat
次下列运算:
输入
1
个正整数
n
,将其转换为二进制后输出。
要求定义并调用函数
dectobin(n)
,
它的功能是输出
n
的二进制 。
例如,
调用
dectobin(10)
,
输出
1010< br>。
输出语句:
//t
为某位二进制数
例:括号内是说明
输入:
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
repeat
次下列运算:
输入 三个整数
a
、
b
和
c
,输出其中较大的数。要求定义和调用 函数
max(a, b, c)
找出
a
、
b
、
c< br>中较大
的数,函数形参
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
if(max
return max;
}
}