1 报数游戏

有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止。问剩下第几个孩子。下面的程序以10个孩子为例,模拟了这个过程,请完善之(提示:报数的过程被与之逻辑等价的更容易操作的过程所代替)。Vector a = new Vector();for(int i=1; i<=10; i++){a.add("第" + i + "个孩子");}for(;;){if(a.size()==1) break;for(int k=0; k<2; k++)________________;a.remove(0);}System.out.println(a);a.add(a.remove(0))

2 不连续处断开

下列代码运行结果为:
12345
23456
89
23456789
即把一个串从数字不连续的位置断开。试完善之。

    String s = "12345234568923456789";String t = "1";for(int i=1; i<s.length(); i++){if(s.charAt(i)==s.charAt(i-1)+1){t += s.charAt(i);}    else{System.out.println(t);_____________________________;}        }System.out.println(t);t = "" + s.charAt(i)

3 猜数字游戏

猜数字

很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。每猜一个数字,甲必须告诉他是猜大了,猜小了,还是刚好猜中了。下列的代码模拟了这个过程。其中用户充当甲的角色,计算机充当乙的角色。为了能更快地猜中,计算机使用了二分法。
阅读分析代码,填写缺失的部分。

把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。

System.out.println("请在心中想好一个数字(1~100),我来猜");
System.out.println("我每猜一个数字,你要告诉我是“猜大了”,“猜小了”,还是“猜中”");
Scanner scan = new Scanner(System.in);
int v1 = 1;
int v2 = 100;
for(;;)
{int m = (v1 + v2)/2;System.out.println("我猜是:" + m);System.out.println("1.猜得太大了");System.out.println("2.猜得太小了");System.out.println("3.猜中!");System.out.print("请选择:");int user = Integer.parseInt(scan.nextLine());if(user==3) break;if(user==1) _____________;if(user==2) _____________;
}v2 = m - 1
v1 = m + 1

4 串的反转

反转串

我们把“cba”称为“abc”的反转串。
求一个串的反转串的方法很多。下面就是其中的一种方法,代码十分简洁(甚至有些神秘),请聪明的你通过给出的一点点线索补充缺少的代码。

把填空的答案(仅填空处的答案,不包括题面)存入考生文件下对应题号的“解答.txt”中即可。

public static String reverseString(String x)
{if(x==null || x.length()<2) return x;return ____________________ + x.charAt(0);}reverseString(x.substring(1))

5 串中找数字

以下的静态方法实现了:把串s中第一个出现的数字的值返回。
如果找不到数字,返回-1

例如:
s = “abc24us43” 则返回2
s = “82445adb5” 则返回8
s = “ab” 则返回-1

public static int getFirstNum(String s)
{if(s==null || s.length()==0) return -1;char c = s.charAt(0);if(c>='0' && c<='9') return _____________;  //填空return ___________________;  //填空
}

请分析代码逻辑,并推测划线处的代码。

答案写在 “解答.txt” 文件中

注意:只写划线处应该填的内容,划线前后的内容不要抄写。

return c - '0'getFirstNum(s.substring(1))

6 递归连续数

以下程序打印出0~9的数字,请补充缺少的代码。public class MyTest
{public static void f(int begin, int end){__________________;System.out.println(begin);f(begin+1, end);    }public static void main(String[] args){f(0,9);}
}if(begin > end)   return

7 复制网站内容
复制代码
本程序将网站“www.baidu.com”首页的内容复制保存在文件test.html中。写了如下代码,请完善之:

import java.net.*;
import java.io.*;
class DaSai{public static void main(String[] args) throws Exception {URL url=__________________________________;BufferedReader in =_________________________________;String inString;     File outfile=new File("test.html");      PrintWriter out=new PrintWriter(new FileWriter(outfile));while ((inString=in.readLine())!=null){ out.println(inString);}in.close(); out.close();}}new URL("http://www.baidu.com")new BufferedReader(new InputStreamReader(url.openStream()))

8 股票的风险

股票风险

股票交易上的投机行为往往十分危险。假设某股票行为十分怪异,每天不是涨停(上涨10%)就是跌停(下跌10%)。假设上涨和下跌的概率均等(都是50%)。再假设交易过程没有任何手续费。某人在开始的时候持有总价值为x的该股股票,那么100个交易日后,他盈利的可能性是多少呢?
以下程序通过计算机模拟了该过程,一般的输出结果在0.3左右。请填写缺失的代码。

把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。

    int N = 10000;int n = 0;for(int i=0; i<N; i++){double value = 1000.0;    for(int k=0; k<100; k++){if(Math.random() > _______)value = value * 1.1;elsevalue = value * 0.9;}if(____________) n++;}System.out.println(1.0*n/N);0.5
value > 1000

9 基因牛的繁殖

基因牛

张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛, 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授n年后有多少头母牛?
以下程序模拟了这个过程,请填写缺失的代码。

把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。

public static class Cow
{private int age;public Cow afterYear(){age++;return age > 2 ? new Cow() : ___________;}    public static void showTotalCowNum(int n){List<Cow> list = new ArrayList<Cow>();list.add(new Cow());for (int i = 0; i < n; i++){int cowCount = list.size();for (int j = 0; j < cowCount; j++){Cow cow = list.get(j).afterYear(); // 填空if (cow != null){________________; list.add(cow);}}}System.out.println(n + "年后,共有:" + list.size());        }
}null
cow.age++

10 括号的匹配

下面的代码用于判断一个串中的括号是否匹配
所谓匹配是指不同类型的括号必须左右呼应,可以相互包含,但不能交叉

例如:
…(…[…]…)… 是允许的
…(…[…)…]… 是禁止的
对于 main 方法中的测试用例,应该输出:
false
true
false
false

import java.util.*;
public class A22
{public static boolean isGoodBracket(String s){Stack<Character> a = new Stack<Character>();for(int i=0; i<s.length(); i++){char c = s.charAt(i);if(c=='(') a.push(')');if(c=='[') a.push(']');if(c=='{') a.push('}');if(c==')' || c==']' || c=='}'){if(____________________) return false;    // 填空if(a.pop() != c) return false;}}if(___________________) return false;  // 填空return true;}public static void main(String[] args){System.out.println( isGoodBracket("...(..[.)..].{.(..).}..."));System.out.println( isGoodBracket("...(..[...].(.).){.(..).}..."));System.out.println( isGoodBracket(".....[...].(.).){.(..).}..."));System.out.println( isGoodBracket("...(..[...].(.).){.(..)...."));}
}请分析代码逻辑,并推测划线处的代码。答案写在 “解答.txt” 文件中注意:只写划线处应该填的内容,划线前后的内容不要抄写。
a.empty()
!a.empty()

java算法集训代码填空题练习1相关推荐

  1. java算法集训代码填空题练习2

    1 连续数的公倍数 为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致. 但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多. 事实上,它是1至6的每个数字的倍数.即1,2,3,4, ...

  2. java算法集训结果填空题练习1

    1 空瓶换汽水 浪费可耻,节约光荣.饮料店节日搞活动:不用付费,用3个某饮料的空瓶就可以换一瓶该饮料.刚好小明前两天买了2瓶该饮料喝完了,瓶子还在.他耍了个小聪明,向老板借了一个空瓶,凑成3个,换了一 ...

  3. java程序中语句隔开_《Java语言程序设计》填空题.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava <Java语言程序设计>填空题.doc9页 ...

  4. 【Java】练习题库 填空题

    二.填空题 1.开发与运行Java程序需要经过的三个主要步骤为编辑源程序. 编译生成字节码和解释运行字节码. 2.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码 ...

  5. java程序运行结果填空题,Java复习题(二)填空题(附答案)

    Java复习题(二)填空题(附答案) <JAVA程序设计>复习题之(二)填空题 1. Java是目前最广泛的__________编程语言之一. 2. Java具有简单.__________ ...

  6. Java程序完形填空题_moodle中的完形填空题的文本编写方法

    moodle中的完形填空题的文本编写方法 [完形填空题]考题把一段文字挖去一些空,让考生根据上下文正确地完成这些填空.完型填空题中的一段短文可以包括各种题目,如选择,填空,和数字题等. 题目的编辑是在 ...

  7. 【算法集训暑期刷题营】7.23日题---字符串

    <算法集训传送门>   

  8. java web应用程序设计填空题_Java Web程序设计题库答案

    Java Web Java Web程序设计题库 一.选择题 1.以下文件名后缀中,只有( C )不是静态网页的后缀. A..html B..htm C .JSP D..shtml 2.以下文件名后缀中 ...

  9. Java语言程序设计(一)填空题

    1.在第一次加载 Applet 时,默认最先执行的方法是 ___ int()_____. 2.调用 ___ getParameter()_____方法可以把 HTML 网页中的参数传递给 Applet ...

最新文章

  1. python代理爬取存入csv文件
  2. Vue.js实现tab切换效果
  3. opencv方框内图像保存_opencv利用矩形框选中某一区域并保存为新图片
  4. J2SE理解之一:声明和访问控制
  5. curl上传文件linux,在Linux中如何使用curl从一个服务器流式传输文件到另一个服务器(有限的服务器资源)...
  6. Google准备开始新一年的大扩张
  7. 怎么修改腾讯视频账户和密码
  8. WPF: 使用CommandManager.InvalidateRequerySuggested手动更新Command状态
  9. vue中自定义指令、组件化、生命周期、节流和防抖、获取DOM、mint-ui简介、过渡和动画
  10. phpcmsV9子栏目调用其父栏目名称、URL、catid等信息 - 方法总结
  11. 找零兑换(递归解法)
  12. Mysql也可以联合多表更新和删除
  13. MVVM基本基础(2)
  14. cloudare mysql 密码修改_ubuntu18.04安装mysql,开启远程登录,修改默认端口
  15. 17. JavaScript Math(算数)对象
  16. Linux driver读书笔记(2) - Bus Types总线类型(mybus/mydevice/mydriver实例)
  17. spfa算法的python实现
  18. xlsread服务器出现意外情况
  19. elasticsearch实战 中文+拼音搜索
  20. 微创电生理通过注册:年营收1.9亿 微创批量生产上市企业

热门文章

  1. 一文搞懂A/B test与假设检验
  2. 九齐051D写的433遥控器
  3. 宽带安装经验、教训及宽带对打游戏的影响及游戏电脑推荐
  4. wps js宏开发表格数据归类拆分和excel文件合并的xlam加载宏插件
  5. 最新整理手机解密大全02
  6. 高德地图开发(一)详细配置步骤实现显示简单地图
  7. python 字符串和时间转换
  8. 集五福编程c语言,支付宝如何快速集齐5张福卡 支付宝2020集五福攻略技巧
  9. TokenGazer《一问到底》| 第40期 :研究员 VS RSK
  10. 基于 Amazon 云端数据质量治理解决方案