java上机练习题及答案
- 格式:docx
- 大小:58.27 KB
- 文档页数:5
JAVA构造方法(1)
作业要求:上机调试成功后方可上交。
1. 编写程序,终端输入需要判断的数据,通过调用判断素数Static int sushu(int x)的方法进行判断,并将判断结果输出到终端。
运行结果:
程序源代码:
package com.main3;
import java.util.Scanner;
public class M_ss {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
for (int i = 0; i <2; i++) {
System.out.println("请输入要判断的数:");
int x=input.nextInt();
sushu(x);}
}
static void sushu(int x) {
boolean flag=true;
int x1=x/2;
for (int i=2; i <=x1; i++) {
if(x%i==0)
flag=false;}
if(flag)
System.out.printf("%d是素数。\n",x);
else
System.out.printf("%d不是素数。\n", x);
}
} 2. 编写程序,输出所有的水仙花数。请构造水仙花的判断方法。Static int shuixianhua(int x)
运行结果:
程序源代码:
package com.main3;
public class M_shuixianhua {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
shuixianhua(i);
}
// TODO Auto-generated method stub
}
public static void shuixianhua(int x) {
int a,b,c;
a = x/100;
b = x/10%10;
c = x%10;
if(a*a*a+b*b*b+c*c*c==x)
System.out.println(x+"是水仙花数。");
}
}
3. 编写程序,终端输入需要判断的2个数据,通过调用方法最大公约数Static int maxGYS(int x)与最小公倍数Static int minGBS(int x)的方法进行判断,并将判断结果输出到终端。
运行结果:
程序源代码:
package zuoye2;
import java.util.Scanner;
public class gz3 {
public static void main(String[] args) {
int a,b,c,d;
Scanner reader=new Scanner(System.in);
a=reader.nextInt();
b=reader.nextInt();
c=maxGYS(a,b);
System.out.println("两数的最大公约数为:"+c);
d=minGBS(a,b);
System.out.println("两数的最小公倍数为:"+d);
}
static int maxGYS(int x,int y) {
while(y != 0) {
int temp = x%y;
x = y;
y = temp; }
return x;
}
static int minGBS(int x,int y) {
return x*y/maxGYS(x, y);
}
}
/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。* / 4. 输入三个整数x,y,z,请把这三个数由小到大输出.请构造方法static int max(int x,int y)
运行结果:
程序源代码:
package com.main3;
import java.util.Scanner;
public class M_maxmin {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入要判断的三个整数:");
int x=input.nextInt();
int y=input.nextInt();
int z=input.nextInt();
input.close();
mxn(x,y,z);
// TODO Auto-generated method stub}
static void mxn(int x,int y,int z) {
if (x int t=x; x=y; y=t;} if (x int t=x; x=z; z=t;} if (y int t=y; y=z; z=t; } System.out.printf("三个数从小到大的排列顺序为:%4d%4d%4d",z,y,x); } }