11-15题

11.试题编号:J1-11《动物园管理系统》关键算法

动物园内饲养了大量不同种类的动物,因此对这些动物的生活场地的建设及食物投放的 管理工作量非常大。现在 XX 动物园需要设计并实现一套动物园管理系统,提高管理效率。 请完成以下任务。

(1)任务描述

任务一:实现饲养功能关键算法并绘制流程图(30 分) 动物园饲养的食肉动物分大型动物和小型动物两类,规定老虎、狮子一类的大动物每次 喂肉每头三斤,狐狸、山猫一类小动物每三头喂一斤。该动物园共有这两类动物 100 头,每 次需喂肉 100 斤,编程输出大、小动物的数量。 要求:用循环语句实现。

package package11;

public class Task1 {
		public static void main(String[] args) {
			int big=1;
			while(big<100){
				if((big*3+(100-big)/3)==100)
					System.out.println("大动物的数量为:"+big+",小动物的数量为:"+(100-big));		
			 big++;
			}
		}

}

任务二:实现趣味动物问题关键算法并绘制流程图(30 分) 动物园里新来了两只骆驼,那么你能计算出它们年龄的最小公倍数么? 从键盘输入两个整数,输出两个整数的最小公倍数。 要求: 用循环语句实现。

package package11;

import java.util.Scanner;

public class Task2 {
	 public static void main(String[] args) {
		int min;
		Scanner sc=new Scanner(System.in);
		System.out.print("请输入第一只骆驼的年龄:");
		int m=sc.nextInt();
		System.out.print("请输入第二只骆驼的年龄:");
		int n=sc.nextInt();
		min=m*n;
		if(m<n)
		{
			int temp=m;
			m=n;
			n=temp;
		}
		while(n!=0)
		{
			int t=m%n;
			m=n;
			n=t;	
		}
		min=min/m;	
		System.out.print("它们年龄的最小公倍数为:"+min);	
	}
	

}

任务三:实现人工湖关键算法并绘制流程图(30 分) 现在,动物园想在新建一个三角形的人工湖,一是为了养鱼美观,二是可以循环水资源。 从键盘输入三条边 A、B、C 的边长,请编程判断能否组成一个三角形。 要求:A,B,C <1000,如果三条边长 A、B、C 能组成三角形的话,输出 YES,否则 NO。 (2)作品提交要求见本模块附录 1 (3)实施条件要求见本模块附录 2 (4)评价标准见本模块附录 3

package package11;

import java.util.Scanner;

public class Task3 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入三角形的三条边长(小于1000):");
		int A=sc.nextInt();
		int B=sc.nextInt();
		int C=sc.nextInt();
		if(A>1000||B>1000||C>1000)
			System.out.println("请输入小于1000的数据");
		else
		{
			if((A+B)>=C&&(A+C)>=B&&(B+C)>=A)
				System.out.println("YES");
			else
				System.out.println("NO");
		}

	}

}

12.试题编号:J1-12《手机号码查询系统》关键算法

(1)任务描述 现在手机使用非常普及,为方便人们查询手机号码的归属地信息,A 公司决定开发一个 手机号码查询系统,需要完成以下任务。

任务一:实现手机号计数功能关键算法并绘制流程图(30 分) 从键盘接收一行字符串,字符串中只包含数字和空格,统计其中所有的手机号码数量。 比如输入:18711389426 18711389427 输出的结果为:2。 注意:使用分支及循环结构完成。

package package12;

import java.util.Scanner;

public class Task1 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String str=sc.nextLine();
		if(!str.matches("[\\d\\s-]+"))
			System.out.println("字符串中只包含数字和空格");
		else {
			int count=0;
			String regExp = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";
			String[] phone=str.split(" ");
			for(int i=0;i<phone.length;i++)
				if(phone[i].matches(regExp))
					count++;
			System.out.println("字符串中包含的手机号码个数为:"+count);		
		}		
	}
}

任务二:实现连号判断功能关键算法并绘制流程图(30 分) 从键盘接收一个十一位的数字,判断其是否为尾号 5 连的手机号。规则:第 1 位是 1, 第二位可以是数字 358 其中之一,后面 4 位任意数字,最后 5 位为任意相同的数字。例如: 18601088888、13912366666 则满足。 注意:不满足的输出“false”,满足要求的输出“true”。

package package12;

import java.util.Scanner;

public class Task2 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String str=sc.nextLine();
		if(!str.matches("\\d{11}$"))
			System.out.println("请输入11位数字");
		else {
			if(str.matches("^1[3|5|8][0-9]\\d{3}([0-9])\\1{4}")) 
				System.out.print("true");
			else
				System.out.print("false");
		}

	}
}

任务三:实现统计非数字功能关键算法并绘制流程图(30 分) 对于给定的一个字符串,统计其中非数字字符出现的次数。 例如:输入:Ab(&%123) 输出:6 注意:使用循环和判断语句实现。 (2)作品提交要求见本模块附录 1 (3)实施条件要求见本模块附录 2 (4)评价标准见本模块附录 3

package package12;

import java.util.Scanner;

public class Task3 {
	public static void main(String[] args) {
		int count=0;
		System.out.print("请输入一个字符串:");
		Scanner sc=new Scanner(System.in);
		String str=sc.nextLine();
		char[] chs=str.toCharArray();
		for(int i=0;i<chs.length;i++)
			if(chs[i]<'0'||chs[i]>'9')
					count++;	
		System.out.println("该字符串中非数字字符出现次数为:"+count);

	}
	
}

13.试题编号:J1-13《图形打印系统》关键算法

(1)任务描述 图形打印技术发展迅速,无论想打印什么图形,只要您输入合格的指令,立马就可以打 印出来。A 公司也开发了一个图形打印系统,为了测试打印系统的性能,需要设计三个测试 用例,请完成以下任务。

任务一:实现打印功能 1 关键算法并绘制流程图(30 分) 从键盘接收一个整数 n,请打印一个由“*”号组成的长度和宽度均为 n 的空心矩形。 例如输入:4 你要在屏幕打印如下图形:

* * * *

*      *

*      *

* * * * 注意:使用嵌套循环语句实现。

import java.util.Scanner;

public class Task1 {

	public static void main(String[] args) {
		
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入一个整数:");
		int n=sc.nextInt();
		sc.close();
		
		String str="*";	
		for (int i = 0; i <n; i++) {
			for (int j = 0; j <n; j++) {
				if (i==0) {
					System.out.print(str);
				}else if(i==n-1){
					System.out.print(str);
				}else if(j==0||j==n-1) {
					System.out.print(str);
				}else{
					System.out.print(" ");
				}
			}
			System.out.println();
		}
	    }
	}

任务二:实现打印功能 2 关键算法并绘制流程图(30 分) 注意输出指定空心正方形。输入第一个数字为边长,第二个字符为组成图形边的字符。
例如:输入 4 a

输出

a a a a

a       a

a       a

a a a a

注意:使用嵌套循环实现。

import java.util.Scanner;

public class Task2 {

	public static void main(String[] args) {
		   /*int x = 3;
        int y = 10;*/
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入图形边长:");
		int n = sc.nextInt();
		System.out.println("请输入组成图形边的字符:");
		String b = sc.next();
		String str = "*";
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				if (i == 0) {
					System.out.print(b);
				} else if (i == n - 1) {
					System.out.print(b);
				} else if (j == 0 || j == n - 1) {
					System.out.print(b);
				} else {
					System.out.print(" ");
				}
			}
			System.out.println();
		}
	}
	

}

任务三:实现打印功能 3 关键算法并绘制流程图(30 分) 从键盘接受一个正整数,列出该数字的中文表示格式,例如:键盘输入 123,打印出一 二三;键盘输入 3103,打印出三一零三。 注意:使用判断语句完成。 (2)作品提交要求见本模块附录 1 (3)实施条件要求见本模块附录 2 (4)评价标准见本模块附录 3

import java.util.Scanner;

public class Tsak3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入您要转换的数字:");

		// 建立一个字符串数组,其中元素为大写的中文字符
		String[] s = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };

		while (true) {

			Scanner s1 = new Scanner(System.in);

			String str = s1.nextLine();

			for (int i = 0; i < str.length(); i++) {

				// 提取键盘输入字符串中的每个字符,再转换成阿拉伯数字。
				int c = str.charAt(i) - '0';

				// 对c进行判断
				if (c >= 0 && c < 10) {

					System.out.print(s[c]);
				} else {

					System.out.println("请重新输入数字:" + "\n");
					break;
				}
			}
			System.out.println("\n");
		}
	}

}

14.试题编号:J1-14《市场分析系统》关键算法

(1)任务描述 在一个新的产品要上市的之前,需要做大量的市场调查,以确保产品能获得理想的收益。 现在 A 公司要设计一款市场分析系统,需完成以下功能模块。

任务一:实现销售分析功能关键算法并绘制流程图(30 分) A 商店准备在今年夏天开始出售西瓜,西瓜的售价如下,20 斤以上的每斤 0.85 元;重 于 15 斤轻于等于 20 斤的,每斤 0.90 元;重于 10 斤轻于等于 15 斤的,每斤 0.95 元;重 于 5 斤轻于等于 10 斤的,每斤 1.00 元;轻于或等于 5 斤的,每斤 1.05 元。现在为了知道 商店是否会盈利要求 A 公司帮忙设计一个输入西瓜的重量和顾客所付钱数,输出应付货款和 应找钱数的程序。 注意:使用分支结构语句实现,结果保留两位小数。

import java.text.DecimalFormat;
import java.util.Scanner;

public class Task1 {

	public static void main(String[] args) {

        DecimalFormat df = new DecimalFormat("#.00");
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入斤数和钱");
		double shuliang = sc.nextDouble();
		double money = sc.nextDouble();
		double qian = count(shuliang);
		double cha = money-qian;
		System.out.println("应付"+df.format(qian)+"元,应找钱"+df.format(cha)+"元");
	}
	
	public static double count(double shuliang) {
		double sum;
		if(shuliang<=5) {
			sum=shuliang*1.05;
			return sum;
		}else if(shuliang<=10){
			sum=shuliang*1;
			return sum;
		}else if(shuliang<=15) {
			sum=shuliang*0.95;
			return sum;
		}else if(shuliang<=20) {
			sum=shuliang*0.90;
			return sum;
		}else {
			sum=shuliang*0.85;
			return sum;
		}

		
	}

}

任务二:实现销售量分析功能关键算法并绘制流程图并绘制流程图(30 分) KJ 学院为全校同学设计一套校服,A 公司有意招标为 A 学校设计服装,职员小 C 在 A 校排队时偷偷的看了一眼发现 A 学校学生,5 人一行余 2 人,7 人一行余 3 人,3 人一行余 1 人,编写一个程序求该校的学生人数。 注意:使用分支、循环结构语句实现,直接输出结果不计分。

public class Task2 {

	public static void main(String[] args) {
		for(int i=1;i>0;i++) {
			if(i%5==2&&i%7==3&&i%3==1) {
				System.out.println("该班级学生总数为:"+i);
				break;
			}
		}

	}

}

任务三:实现市场调查数据的恢复功能关键算法并绘制流程图(30 分) 职员小 A 今天犯了一个致命的错误,他一不小心丢失了 X 项目的市场调查结果只记得一 个公式 xyz+yzz=532,其中 x、y、z 均为一位数,现在请你帮忙编写一个程序求出 x、y、z 分别代表什么数。 注意:用带有一个输入参数的函数(或方法)实现,返回值类型为布尔类型。 (2)作品提交要求见本模块附录 1 (3)实施条件要求见本模块附录 2 (4)评价标准见本模块附录 3

public class Task3 {

	public static void main(String[] args) {
		 int x,y,z,t;
		    for(x = 1; x < 10; x ++)        // 对x穷举
		        for(y = 1; y < 10; y ++)    //对y穷举
		            for(z = 0; z < 10; z ++)//对z穷举
		            {
		                t = x * 100 + y * 10 + z + y *100 + z * 10 + z;// 求和
		                if(t == 532)        //判断和是否为532
		                {
		                	System.out.println("x为"+x+"  y为"+y+"  z为"+z);
		                }
		            }
	}

}

15.试题编号:J1-15《节庆活动管理系统》关键算法

(1)任务描述 在《关于推动特色文化产业发展的意见》中,首次提出“特色文化产业”的内涵,其 中,将特色节庆做为重点发展领域之一。要求发掘各地传统节庆文化内涵,提升新兴节庆文 化品质,形成一批参与度高、影响力大、社会效益和经济效益好的节庆品牌。因此,XX 市 政府决定关键算法节庆活动管理系统。请完成以下任务。

任务一:实现元宵灯谜问题关键算法并绘制流程图(30 分) 小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄 之积是年龄之和的 6 倍”。 小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过 8 岁啊。” 请你编程求出小明的较小的妹妹的年龄。
注意:使用循环实现。

import java.util.Scanner;

public class Test1 {
	public static void main(String[] args) {
		for (int a = 1; a < 100; a++)// 妹妹不可能大于100吧!!!
		{
			for (int b = 0; b < a; b++) {
				if (a * b == (a + b) * 6 && (a - b) <= 8)// 条件判断
					System.out.println("年龄较小者是" + b + "岁");
			}
		}
	}
}

任务二:实现获奖序列关键算法并绘制流程图(30 分) 中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生 原理。它的前几项是:0、2、4、8、12、18、24、32、40、50 ...。 其规律是:对偶数项,是序号平方再除 2,奇数项,是序号平方减 1 再除 2。 投资人决定,节庆活动抽奖活动的中奖序列按照“大衍数列”的前 100 项。 请你打印出“大衍数列”的前 100 项。 注意:输出占一行,两个数之间用空格隔开,最后一个数字后面没有多余的符号。

public class Test2 {

	public static void main(String[] args) {
		for (int i = 1; i < 100; i++) {
			if (i % 2 == 0)
				System.out.println(i * i / 2);
			else
				System.out.println((i * i - 1) / 2);
		}

	}
}

任务三:实现门票核对关键算法并绘制流程图(30 分) 门票的序列号必定是系统里总序列的子序列,请你核对门票的真实性。 从键盘接收两个字符串a和b,请你判断字符串a是否包含字符串b,是的话输出“Yes”, 否则输出“No”。有多组测试用例,每个测试用例占一行,两个字符串之间用空格隔开。 例如:输入 JavaStudy Java Student School 则输出 Yes No 注意:使用循环完成。 (2)作品提交要求见本模块附录 1 (3)实施条件要求见本模块附录 2 (4)评价标准见本模块附录 3

public class Test3 {
	public static void main(String[] args) {

		String str = "ABC_001";
		if (str.indexOf("ABC") != -1) {
			System.out.println("包含");
		} else {
			System.out.println("不包含");
		}
	}

}

  

猜你喜欢

转载自www.cnblogs.com/xiaoqianbook/p/9668099.html