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); }

}