JAVA实验作业 07

题目:
4. (简答题) .有一系列文件如下:
ch1_1.docx, ch1_2.c, ch2_1.java, ch2_2.pptx, ch3_1.c, ch3_2.java

1)请列出所有ch1开头的文件;

2)请列出所有C语言文件。

import java.util.*;
public class file {
    public static void main(String[] args) {
        List<String>list = new ArrayList<String>();
        list.add("ch1_1.docx");
        list.add("ch1_2.c");
        list.add("ch2_1.java");
        list.add("ch2_2.pptx");
        list.add("ch3_1.c");
        list.add("ch3_2.java");
        for (String str :list){
            boolean status = str.contains("ch1");
            if(status){
                System.out.println(str+"是ch1开头文件");
            }else{
                System.out.println(str+"不是ch1开头文件");
            }
        }

        System.out.println("<=============检测c语言==============>");
        for (String str :list){
            boolean status = str.contains(".c");
            if(status){
                System.out.println(str+"是c语言文件");
            }else{
                System.out.println(str+D"不是c语言文件");
            }
        }
    }
}

题目:
5. (简答题) 抢红包
使用Random类模拟微信的抢红包功能,根据用户输入的红包额度和个数,随机生成每个

红包的金额,效果图如下图所示。

import java.util.*;
public class hello {  						// 创建一个RedBags类
     public static void main(String[] args) {
         System.out.println("—————————模拟微信抢红包—————————\n");
         Scanner sc = new Scanner(System.in); 		// 控制台输入
        	System.out.print("请输入要装入红包的总金额(元):");
        	double total = sc.nextDouble(); 			// 输入“红包的总金额”
         	System.out.print("请输入红包的个数(个):");
          	int bagsnum = sc.nextInt(); 				// 输入“红包的个数”
          	double min = 0.01; 						// 初始化“红包的最小金额”
         	Random random = new Random(); 			// 创建随机数对象random
            if (total / bagsnum == 0.01) { 			// 红包总金额与个数的商为0.01时
            for (int i = 1; i < bagsnum; i++) {
                double money = min;				// 让每个包中的金额均为最小金额0.01
                total -= money;					// 红包中的剩余金额
                System.out.println	("第" + i + "个红包:" + String.format("%.2f", money) + "元");			}		}
            else if (total / bagsnum < 0.01) { 		// 红包总金额与个数的商小于0.01时
                System.out.println("要保证每个人都能分到1分钱哦!");
                return;								// 不再执行第22行以下的代码,例如第46行
                 	}
            else {
                for (int i = 1; i < bagsnum; i++) {  	// 设置“循环”
                /* * 本次红包可用最大金额 = * 可分配金额 - (红包总数 * 已发出的红包数) * 红包的最小金额 */
                    double max = total - (bagsnum - i) * min;
                    double bound = max - min;			// 设置随机金额的取值范围
                    /* * 据随机金额的取值范围,随机生成红包金额。
                     由于nextInt(int * bound)只能用整型做参数,
                     所以先将bound乘100(小数点向右挪两位) * 获取到一个整数后,
                     将这个整数除100(小数点向左挪两位) * 并转换成与金额相同的浮点类型 */
                    double safe = (double) random.nextInt((int) (bound * 100)) / 100;
                    double money = safe + min;	// 最后加上红包的最小金额,以防safe出现0值
                    total = total - money; 		// 替换total的值
                    System.out.println("第" + i + "个红包:" + String.format("%.2f", money) + "元");
                    }		}		// 输出剩余金额
            System.out.println("第" + bagsnum + "个红包:" + String.format("%.2f", total) + "元");
            sc.close(); }}



你可能感兴趣的:(java,开发语言)