寒假作业1

1
任务二:实现趣味动物问题关键算法并绘制流程图(30 分)

动物园里新来了两只骆驼,那么你能计算出它们年龄的最小公倍数么? 从键盘输入两个整数,输出两个整数的最小公倍数。

要求: 用循环语句实现。

正确答案:

2
任务三:实现人工湖关键算法并绘制流程图(30 分)

现在,动物园想在新建一个三角形的人工湖,一是为了养鱼美观,二是可以循环水资源。从键盘输入三条边A、B、C 的边长,请编程判断能否组成一个三角形。

要求:A,B,C <1000,如果三条边长 A、B、C 能组成三角形的话,输出YES,否则 NO。

正确答案:

3
任务一:实现手机号计数功能关键算法并绘制流程图(30 分)

从键盘接收一行字符串,字符串中只包含数字和空格,统计其中所有的手机号码数量。比如输入:18711389426 18711389427 输出的结果为:2。

注意:使用分支及循环结构完成。

正确答案:

4
任务二:实现连号判断功能关键算法并绘制流程图(30 分)

从键盘接收一个十一位的数字,判断其是否为尾号 5 连的手机号。规则:第 1 位是 1,

第二位可以是数字 358 其中之一,后面 4 位任意数字,最后 5 位为任意相同的数字。例如:

18601088888、13912366666 则满足。

注意:不满足的输出“false”,满足要求的输出“true”。

正确答案:

5
任务三:实现统计非数字功能关键算法并绘制流程图(30 分) 对于给定的一个字符串,统计其中非数字字符出现的次数。 例如:输入:Ab(&%123) 输出:6

注意:使用循环和判断语句实现。

import java.util.Scanner;

/**
 * 动物园里新来了两只骆驼,那么你能计算出它们年龄的最小公倍数么?
 *  * 从键盘输入两个整数,输出两个整数的最小公倍数。
 * 要求: 用循环语句实现。
 */
public class Test1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入两个整数");
//        接收用户输入的数字
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
//        i小于两个值相乘
        for (int i=num1 ; i<=num1*num2; i++){
//            进行最小公倍数判断
            if (i%num1==0&&i%num2==0){
                System.out.println(num1+"与"+num2+"的最小公倍数为"+i);
//                取到值之后即刻退出
                break;
            }
        }
    }
}
import java.util.Scanner;

/**
 * 现在,动物园想在新建一个三角形的人工湖,一是为了养鱼美观,二是可以循环水资源。
 * 从键盘输入三条边A、B、C 的边长,请编程判断能否组成一个三角形。
 * 要求:A,B,C <1000,如果三条边长 A、B、C 能组成三角形的话,输出YES,否则 NO。
 */
public class Test2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("分别输入三条边的长");
//        用户输入边长过大则重新输入
        while(true) {
//            用户输入
            int side1 = sc.nextInt();
            int side2 = sc.nextInt();
            int side3 = sc.nextInt();
//            边长是否过长判断
            if (side1 > 1000 || side2 > 1000 || side3 > 1000) {
                System.out.println("你输入的数值过大,请重新输入");
            }
            else {
//                三角形判断
                if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1 && side1 - side2 < side3 && side1 - side3 < side2 && side2 - side3 < side1) {
                    System.out.println("Yes");
                }
                else {
                    System.out.println("No");
                }
                break;
            }
        }
    }
}

import java.util.Scanner;

/**
 * 从键盘接收一行字符串,字符串中只包含数字和空格,统计其中所有的手机号码数量。
 * 比如输入:18711389426 18711389427 输出的结果为:2。
 */
public class Test3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
//        计数器
        int count = 1;
//        用户输入号码,并读取一整行字符
        String tel = sc.nextLine();
        for (int i=0 ; i<tel.length() ; i++){
            char result = tel.charAt(i);
            if (Character.isLetter(result)){
                System.out.println("非法字符");
//                输入非法退出程序
                System.exit(0);
            }
//            记录空格数
            if (Character.isWhitespace(result)){
                count++;
            }
        }
        System.out.println(count);
    }
}
//程序还有些问题没修复,比如用户输入多个空格则会多统计
import java.util.Scanner;

/**
 * 从键盘接收一个十一位的数字,判断其是否为尾号 5 连的手机号。规则:第 1 位是 1,
 *
 * 第二位可以是数字 358 其中之一,后面 4 位任意数字,最后 5 位为任意相同的数字。例如:
 *
 * 18601088888、13912366666 则满足。
 *
 * 注意:不满足的输出“false”,满足要求的输出“true”。
 */
public class Test4 {
//    创建判读函数
    public static boolean tel(String num ){
//        布尔初始化
        boolean a = false;
//        利用charAt将数字拆开
        char num1 = num.charAt(0);
        char num2 = num.charAt(1);
        char num11 = num.charAt(10);
        char num10 = num.charAt(9);
        char num9 = num.charAt(8);
        char num8 = num.charAt(7);
        if ((num1=='1')&&(num2=='3'||num2=='5'||num2=='8')&&(num8==num9&&num9==num10&&num10==num11)){
//            满足题设条件变true
            a = true;
        }
        return a;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
//        用户输入电话号码
        String sr = sc.next();
//        捕捉号码不为11位或不为数字的异常
        try {
            System.out.println(tel(sr));
        } catch (Exception e) {
           System.out.println("你必需输入11位的数字");;
        }
    }
}

import java.util.Scanner;

/**
 * 任务三:实现统计非数字功能关键算法并绘制流程图(30 分)
 * 对于给定的一个字符串,统计其中非数字字符出现的次数。 例如:输入:Ab(&%123) 输出:6
 * 注意:使用循环和判断语句实现。
 */
public class Test5 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
//        计数器
        int count=0;
//        用户输入
        String select = sc.next();
        for(int i=0 ; i<select.length() ; i++) {
//            拆分用户输入的字符串
            char num = select.charAt(i);
//            是数字就递增
            if (Character.isDigit(num)){
                count++;
            }
        }
//        输出
        System.out.println(count);
    }
}

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值