栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【练习四】顺序结构(for)循环相关练习(一共31题)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【练习四】顺序结构(for)循环相关练习(一共31题)

目录

25:李白无事街上走,提壶去买酒。遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒,试问李白壶中原有多少斗酒?(使用for循环结构编程实现)

提示:采用逆向思维分析问题。

26:开发一个标题为“FlipFlop”的游戏应用程序。它从1计数到100,遇到3的倍数就替换为单词“Flip”,5的倍数就替换为单词“Flop”,既为3的倍数又为5的倍数则替换为单词“FlipFlop”。

27:生成13位条形码

Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。

例如:690123456789

计算其校验码的过程为:

@前十二位的奇数位和6+0+2+4+6+8=26

@前十二位的偶数位和9+1+3+5+7+9=34

@将奇数和与偶数和的三倍相加26+34*3=128

@取结果的个位数:128的个位数为8

@用10减去这个个位数10-8=2

所以校验码为2

(注:如果取结果的个位数为0,那么校验码不是为10(10-0=10),而是0)

实现方法ean13()计算验证码,输入12位条码,返回带验证码的条码。

例:输入:692223361219输出:6922233612192

28:求两个整数的最大公约数和最小公倍数

29:将100元兑换为1元、5元、10元的零钱,请问有多少种兑换方法?

30:用100元人民币兑换10元,5元,1元的纸币(每种都要有)共50张,计算有多少种兑换方案

31:设计Java程序,假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少瓶饮料?

若有错误,请指正,不胜感激


25:李白无事街上走,提壶去买酒。遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒,试问李白壶中原有多少斗酒?(使用for循环结构编程实现)

提示:采用逆向思维分析问题。
public class DemoText1 {

    public static void main(String[] args) {
        
        double sum=0;
        
        for(double i=1;i<=10;i++){
            if(i%2==0){
                sum=sum/2;
                System.out.println(sum);
            }else{
                sum++;
            }
        }
        System.out.println("有酒:"+sum);
    }
}

26:开发一个标题为“FlipFlop”的游戏应用程序。它从1计数到100,遇到3的倍数就替换为单词“Flip”,5的倍数就替换为单词“Flop”,既为3的倍数又为5的倍数则替换为单词“FlipFlop”。
public class DemoText2 {

	public static void main(String[] args) {
		
		System.out.println("------------FlipFlop------------");
		int num=0;
		for(int i=1;i<=100;i++){
			if(i%3==0){
				System.out.print("Flipt");
			}
			if(i%5==0){
				System.out.print("Flopt");
			}
			if(i%3==0 && i%5==0){
				System.out.print("FlipFlopt");
			}
			System.out.print(i+"t");
			num++;
			if(num%10==0)
				System.out.println();
		}
	}
}

27:生成13位条形码

Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。

例如:690123456789

计算其校验码的过程为:

@前十二位的奇数位和6+0+2+4+6+8=26

@前十二位的偶数位和9+1+3+5+7+9=34

@将奇数和与偶数和的三倍相加26+34*3=128

@取结果的个位数:128的个位数为8

@用10减去这个个位数10-8=2

所以校验码为2

(注:如果取结果的个位数为0,那么校验码不是为10(10-0=10),而是0)

实现方法ean13()计算验证码,输入12位条码,返回带验证码的条码。

例:输入:692223361219输出:6922233612192
import java.util.Scanner;

public class DemoText3 {

	public static void main(String[] args) {	
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入12位数字:");
		String str = sc.next();
		int jiShu = 0;
		int ouShu = 0;
		int sum = 0;
//		把偶数和奇数收集起来,用来做后面的乘法操作
		for(int i=0;i<12;i++){
			if(i%2==0){
			jiShu = jiShu+(int)str.charAt(i);
			}else{
			ouShu = ouShu+(int)str.charAt(i);
			}
			}
		sum=(jiShu+ouShu)*3;
//		求出校验位
		int geWei = sum%10;
//		判断是否为零
		if(geWei==0){
			System.out.println("最终结果:");
		System.out.println(str+0);
		}else{
			System.out.println("最终结果:");
			System.out.println(str+(10-geWei));
		}
	}
}

28:求两个整数的最大公约数和最小公倍数
import java.util.Scanner;

public class DemoText4 {

	public static void main(String[] args) {
//		最大公约数:指两个或多个整数共有约数中最大的一个。
//		最小公倍数:在两个或两个以上的自然数中,如果它们有相同的倍数,
//		这些倍数就是它们的公倍数,其中除0以外最小的一个公倍数
		Scanner sc = new Scanner(System.in);
		System.out.println("输入第一个数:");
		int min = sc.nextInt();
		System.out.println("输入第二个数:");
		int max = sc.nextInt();
		int x=0;
		if(max1;a--){
				if(max%a==0 && min%a==0){
					System.out.println("最大公因数:"+a);
					break;
				}
			}
//		如果最大值是,小的值的倍数,那么,最小公倍数就是最大值的本身
		if(max%min==0){
			System.out.println("最小公倍数:"+max);
		}else{
			
			System.out.println("最小公倍数:"+max*min);
		}
	}

}

29:将100元兑换为1元、5元、10元的零钱,请问有多少种兑换方法?
public class DemoText6 {

		public static void main(String[] args) {
//			将100元兑换为1元、5元、10元的零钱,请问有多少种兑换方法?
			int sum=0;
			for(int i=0;i<=10;i++){
				for(int a=0;a<=20;a++){
					for(int b=0;b<=100;b++){
						if(i*10+a*5+b==100){
							sum++;
						}
					}
					
				}
			}
			System.out.println("一共有:"+sum+"兑换方法。");
		}
}

30:用100元人民币兑换10元,5元,1元的纸币(每种都要有)共50张,计算有多少种兑换方案
public class DemoText5 {

	public static void main(String[] args) {
//		用100元人民币兑换10元,5元,1元的纸币(每种
//		都要有)共50张,计算有多少种兑换方案
		int sum=0;
//      因为每种都要有,所以,起始都为一
		for(int i=1;i<=10;i++){
			for(int a=1;a<=20;a++){
				for(int b=1;b<=100;b++){
					if(i*10+a*5+b==100){
						sum++;
					}
				}
				
			}
		}
		System.out.println("一共有:"+sum+"兑换方法。");
	}
}

31:设计Java程序,假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少瓶饮料?
public class DemoText7 {

	public static void main(String[] args) {
	
		int num=0;
		int sum=0;
		for(int i=50;i>0;i--){
//			计数,如果num==3,就加一瓶
			num++;
			if(num%3==0){
				i++;
//				num=0;这一句加不加都可以
			}
			sum++;	
		}
		System.out.println(sum);
	}
}

若有错误,请指正,不胜感激

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023764.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号