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