Java面向对象程序设计第三版第三章编程题

文章介绍了使用Java编写的多个基础编程练习,包括打印俄文字母表、计算阶乘、寻找100以内的素数、求和与循环、寻找1000以内的完数,以及计算两数的最大公约数和最小公倍数,展示了基本的算术和控制结构应用。
摘要由CSDN通过智能技术生成

1.编写一个应用程序,用for循环输出俄文的“字母表”

class Test{
	public static void main(String[] args) {
		System.out.println("======俄文字母表======");
		int count =1;
		for(char i = 'А'; i <= 'я'; i++){
			System.out.print(i+" ");
			if(count % 16 == 0){
				System.out.println();
			}
			count++;
		}
	}
}

2.编写一个程序,求1!+2!+…+20!。

class Test{
	public static void main(String[] args) {
		double sum = 0;
		for(int i=1;i<=20;i++){
			double num=1;
			for(int j=2;j<=i;j++){
				num = num*j;
			}
			sum =sum+num;
		}
		System.out.println(sum);
	}
}
 

3.编写一个应用程序,求100以内的全部素数

class Test{
	public static void main(String[] args) {
		int count=0;//记录100以内素数个数
		for(int i=1;i<=100;i++){
			boolean flag = true;//flag表示是否为素数,默认值为true
			if(i==1){
				flag = false;
			}
            if(i==2){
                flag = true;
            }
            //判断3~100的数i是否为素数
			for(int j=2;j<=i/2;j++){
				if(i%j==0){
					flag = false;
					break;
				}
			}
            //输出
			if(flag == true){
				count++;
				System.out.print(i+"\t");
				if(count%7==0){
					System.out.println("");
				}
			}
		}
	}
}
 

4.分别用while和for循环计算1+1/2!+1/3!+……的前20项和

1)while循环

class Test{
	public static void main(String[] args) {
		double result = 1;
		int i=1;
		double sum=0;
		while(i<=20){
			result = result *i;
			sum = sum +1/result;
			i++;
		}
		System.out.println(sum);
	}
}
 

2)for循环

class Test{
	public static void main(String[] args) {
		double result = 1;
		double sum=0;
		for(int i=1;i<=20;i++){
			result = result *i;
			sum = sum +1/result;
		}
		System.out.println(sum);
	}
}
 

5.求1000以内的所有完数

class Test{
	public static void main(String[] args) {
		for(int i=1;i<=1000;i++){
			int sum = 0;
			for(int j=1;j<i;j++){
				if(i%j==0){
					sum = sum +j;
				}
			}
			if(sum == i){
				System.out.println(i);
			}
		}
	}
}
 

6.编写一个程序,计算两个非0正整数的最大公约数和最小公倍数,要求两个非零正整数从键盘输入。

import java.util.Scanner;
class Test{
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("计算两个数的最大公约数和最小公倍数");
		System.out.println("请输入两个数字");
		int x = input.nextInt();
		int y = input.nextInt();
    		int max=1;
    		for(int i=1;i<=x;i++){
        		if(x%i==0&&y%i==0){
				if(i>max) {
					max=i;
				}
			}
		}
		int min = x/max*y;
		System.out.println("最大公约数为:"+max);
		System.out.println("最小公倍数为:"+min);
	}
}
 

7.求满足1+2!+3!+4!+……+n!<=9999的最大整数n

class BooleanTrue{
	public static void main(String[] args){
		int sum=0;
		int n=0;
		int num=1;
		while(sum<=9999){
			n++;
			num=num*n;
			sum = sum+num;
		}
		int result = n-1;
		System.out.println(result);
	}
}
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值