分支, 循环, 数据类型

1, 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

2, 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

3, 题目:求1!+2!+3!+...+20!的和(5!表示5的阶乘, 即5*4*3*2*1)

4, 题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

5, 题目:先写一个程序, 随机生成一个3*3的矩阵数字(1-9数字全部用到不能重复), 然后求这个3*3矩阵对角线元素之和

6, 回忆包装类对应的基础数据类型和基本方法的使用

将字符串转成数字(Long, Integer, Short, Byte, Double, Float)

字符串转换成字符数组, 并分别输出

7, 查API文档, 找出将2进制, 8进制, 16进制形式的字符串转换成的Integer数字的方法, 在控制台上打印出来

8, 取一个随便的字符串中字母出现的次数, 打印出来

9, 有一个字符串形式的任意日期是"yyyy-MM-dd"的格式, 计算这个日期到1949年10月1日差了多少天

面向对象+容器+流

1, 从data.txt文件中读取数据到程序中, 实现一个联动功能, 即输入主食会显示"1---馒头2---煎饼3---米饭", 再次输入会显示下一级菜单

data.txt文件中每一行都有被 "," 分割的三个值, 第一个值代表这项食物的编号(对于整个数据来说是唯一的), 第三个值表示所属的上一级食物分类

2, 写一个程序统计一个项目中src下的所有 .java 文件的代码行数(用流的知识)

读到流

去空格

查看开始结尾

3, 写一个带线程同步的程序模拟5个人在火车站买票, 总共有4张票

1 //1, 题目:有1、2、3、4个数字,能组成多少个互7;不相同且无重复数字的三位数?2 //都是多少?

3 public static voidt1(){4 int num=0;5

6 for(int i=1;i<=4;i++){7 for(int j=1;j<=4;j++){8 for(int k=1;k<=4;k++){9 if(i!=j&&i!=k&&j!=k){10 num+=1;11 System.out.println(i*100+j*10+k);12 }13 }14 }15 }16 System.out.println("共有"+num+"种方案");17 }

1 public static voidt2(){2 //2, 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

3 double s=2;4 double x=1;5 doubletemp;6 double sum=0;7 for(int i=0;i<20;i++){8 sum=s/x+sum;9 temp=x;10 x=s;11 s=temp+s;12 }13 System.out.println(sum);14 }

1 public static long jiecheng(longl){2 //求阶乘

3 long k=1;4 for(int i=1;i<=l;i++){5 k=k*i;6 }7 returnk;8 }9 public static voidt3(){10 //求1!+2!+3!+...+20!的和(5!表示5的阶乘, 即5*4*3*2*1)

11 long sum=0;12 for(int i=1;i<=20;i++){13 sum=sum+jiecheng(i);14 }15 System.out.println(sum);16 }

1 public static voidt4(){2 //一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

3 Scanner sc=newScanner(System.in);4 String s=sc.nextLine();5 String[] ss=s.split("");6 if(ss[0].equals(ss[4])&&ss[1].equals(ss[3])){7 System.out.println("是回文数");8 }else{9 System.out.println("不是回文数");10 }11 sc.close();12 }

1 public static voidt5(){2 //5, 题目:先写一个程序, 随机生成一个3*3的矩阵数字(1-9数字全部用到不能重复), 然后求这个3*3矩阵对角线元素之和

3 List l1=newArrayList();4 List l2=newArrayList();5 List l3=newArrayList();6 Random r=newRandom();7 List list=newArrayList();8 for(int i=1;i<=9;i++){9 list.add(i);10 }11 for(int j=0;j<3;j++){12 l1.add(list.remove(r.nextInt(9-j)));13 }14 for(int j=0;j<3;j++){15 l2.add(list.remove(r.nextInt(6-j)));16 }17 for(int j=0;j<3;j++){18 l3.add(list.remove(r.nextInt(3-j)));19 }20 System.out.println(l1);21 System.out.println(l2);22 System.out.println(l3);23 System.out.println((int)l1.get(0)+(int)l2.get(1)+(int)l3.get(2)+(int)l1.get(2)+(int)l3.get(0));24 }

1 public static voidt6(){2 //将字符串转成数字(Long, Integer, Short, Byte, Double, Float)3 //字符串转换成字符数组, 并分别输出

4 Scanner sc=newScanner(System.in);5 System.out.println("请输入字符串数字");6 String s=sc.nextLine();7 System.out.println("Integer "+Integer.parseInt(s));8 System.out.println("Long "+Long.parseLong(s));9 System.out.println("Short "+Short.parseShort(s));10 System.out.println("Byte "+Byte.parseByte(s));11 System.out.println("Double "+Double.parseDouble(s));12 System.out.println("Float "+Float.parseFloat(s));13 System.out.println(Arrays.toString(s.toCharArray()));14 }

1 public static voidt7(){2 //查API文档, 找出将2进制, 8进制, 16进制形式的字符串转换成的Integer数字的方法, 在控制台上打印出来3 //十六进制转成十进制

4 System.out.println(Integer.parseInt("FFFF",16));5 //八进制转成十进制

6 System.out.println(Integer.parseInt("777",8));7 //二进制转成十进制

8 System.out.println(Integer.parseInt("110",2));9 }

1 public static voidt8(){2 //取一个随便的字符串中字母出现的次数, 打印出来

3 Scanner sc=newScanner(System.in);4 System.out.println("请输入字符串");5 String s=sc.nextLine();6 Map map = new HashMap();7 String[] ss = s.split("");8

9 for(String _s : ss) {10 map.put(_s, map.get(_s) == null ? 1 : map.get(_s) + 1);11 }12 System.out.println(map);13 }

1 public static voidt9(){2 //有一个字符串形式的任意日期是"yyyy-MM-dd"的格式, 计算这个日期到1949年10月1日差了多少天

3 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");4 Date smdate = null;5 Date bdate = null;6 try{7 smdate = sdf.parse("1949-10-1");8 bdate = sdf.parse("1949-09-1");9 smdate=sdf.parse(sdf.format(smdate));10 bdate=sdf.parse(sdf.format(bdate));11 } catch(ParseException e) {12 //TODO Auto-generated catch block

13 e.printStackTrace();14 }15 Calendar cal =Calendar.getInstance();16 cal.setTime(smdate);17 long time1 =cal.getTimeInMillis();18 cal.setTime(bdate);19 long time2 =cal.getTimeInMillis();20 long between_days=(time2-time1)/(1000*3600*24);21

22 System.out.println(String.valueOf(between_days));23 }

从data.txt文件中读取数据到程序中, 实现一个联动功能, 即输入主食会显示"1---馒头 2---煎饼 3---米饭", 再次输入会显示下一级菜单

data.txt文件中每一行都有被 "," 分割的三个值, 第一个值代表这项食物的编号(对于整个数据来说是唯一的), 第三个值表示所属的上一级食物分类

1 packagecom.hanqi.maya.test;2

3 public classFood {4 privateString id;5 privateString name;6 privateString parentid;7

8 publicFood(String id, String name, String parentid) {9 super();10 this.id =id;11 this.name =name;12 this.parentid =parentid;13 }14

15 publicString getId() {16 returnid;17 }18

19 public voidsetId(String id) {20 this.id =id;21 }22

23 publicString getName() {24 returnname;25 }26

27 public voidsetName(String name) {28 this.name =name;29 }30

31 publicString getParentid() {32 returnparentid;33 }34

35 public voidsetParentid(String parentid) {36 this.parentid =parentid;37 }38

39 @Override40 publicString toString() {41 return "Food [id=" + id + ", name=" + name + ", parentid=" + parentid + "]";42 }43

44 }

1 packagecom.hanqi.maya.test;2

3 importjava.io.BufferedReader;4 importjava.io.File;5 importjava.io.FileNotFoundException;6 importjava.io.FileReader;7 importjava.io.IOException;8 importjava.io.Reader;9 importjava.util.ArrayList;10 importjava.util.List;11 importjava.util.Scanner;12

13 importjava.io.File;14 importjava.io.FileNotFoundException;15 importjava.io.FileReader;16 importjava.io.IOException;17 importjava.io.Reader;18 importjava.util.ArrayList;19 importjava.util.List;20 importjava.util.Scanner;21

22 public classTest10 {23 public static voidmain(String[] args) {24 File file = new File("E:\\Java\\0803test\\data.txt");25 List list = new ArrayList();26 Reader reader = null;27 try{28 reader = newFileReader(file);29 BufferedReader br = newBufferedReader(reader);30 String s = null;31 while((s = br.readLine())!=null) {32 String[] ss = s.split(",");33 if(ss.length==3) {34 Food food = new Food(ss[0],ss[1],ss[2]);35 list.add(food);36 }37 }38 br.close();39

40 } catch(FileNotFoundException e) {41 e.printStackTrace();42 } catch(IOException e) {43 e.printStackTrace();44 }45 for(Food ff : list) {46 if("0".equals(ff.getParentid())) {47 System.out.println(ff.getId()+"---"+ff.getName());48 }49 }50

51 Scanner scanner = newScanner(System.in);52 boolean flag = true;53 String in_str =scanner.nextLine();54 while(flag) {55 if("exit".equals(in_str)) {56 flag = false;57 } else{58 printFood(list, in_str);59 in_str =scanner.nextLine();60 }61 }62 scanner.close();63

64 }65

66 public static void printFood(Listlist, String pid) {67 for(Food ff : list) {68 if(pid.equals(ff.getParentid())) {69 System.out.println(ff.getId()+"---"+ff.getName());70 }71 }72 }73

74 }

写一个程序统计一个项目中src下的所有 .java 文件的代码行数(用流的知识)

1 packagepractise;2

3 importjava.io.BufferedReader;4 importjava.io.File;5 importjava.io.FileNotFoundException;6 importjava.io.FileReader;7 importjava.io.IOException;8 importjava.io.Reader;9

10 public classTest11 {11

12 private static intdaima;13 private static intkongbai;14 private static intzhushi;15

16 public static voidmain(String[] args) {17 //F:\0603\0715\test\src

18

19 /*

20 * 统计代码行数 代码行数 注释行数 空白行数21 */

22

23 File file = new File("F:\\0603\\0715\\test\\src");24

25 if(file.exists()) {26 countor(file);27 System.out.println("代码行数: " +daima);28 System.out.println("空白行数: " +kongbai);29 System.out.println("注释行数: " +zhushi);30 } else{31 System.out.println("找不到路径 !");32 }33

34 }35

36 public static voidcountor(File file) {37

38 File[] f_list = file.listFiles();//获取文件夹下文件和子文件夹

39

40 for(File f : f_list) {41 if(f.isDirectory()) {42 countor(f);43 } else{44 try{45 boolean flag = false;46 Reader reader = new FileReader(f);//读取文件

47 BufferedReader br = newBufferedReader(reader);48 String s = null;49 while ((s = br.readLine()) != null) {50 System.out.println(s);51 if (s.trim().startsWith("/*")) {52 flag = true;53 } else if (s.trim().endsWith("*/")) {54 flag = false;55 } else if(flag) {56 zhushi++;57 } else if (s.trim().startsWith("//")) {58 zhushi++;59 } else if (s.trim().length() != 0

60 && !(s.trim().startsWith("/*")61 && s.trim().startsWith("//"))) {62 daima++;63 } else if (!flag&&s.trim().length() == 0) {64 kongbai++;65 }66 }67 br.close();68 } catch(FileNotFoundException e) {69 e.printStackTrace();70 } catch(IOException e) {71 e.printStackTrace();72 }73

74 }75 }76 }77

78 }

写一个带线程同步的程序模拟5个人在火车站买票, 总共有4张票

1 packagepractise;2

3 importmodel.Station;4

5 public classTest12 {6

7 public static voidmain(String[] args) {8

9 MyThread mt = newMyThread();10

11 Thread t1 = newThread(mt);12 t1.setName("甲");13 Thread t2 = newThread(mt);14 t2.setName("乙");15 Thread t3 = newThread(mt);16 t3.setName("丙");17 Thread t4 = newThread(mt);18 t4.setName("丁");19 Thread t5 = newThread(mt);20 t5.setName("二");21

22 t1.start();23 t2.start();24 t3.start();25 t4.start();26 t5.start();27 }28

29 }30

31

32 class MyThread implementsRunnable {33 public Station station = newStation();34

35 @Override36 public voidrun() {37 station.sale(Thread.currentThread().getName());38 }39 }

1 packagemodel;2

3 public classStation {4 public int tickets = 4;5

6 public synchronized voidsale(String name) {7 if (tickets > 0) {8 try{9 Thread.sleep(1);10 } catch(InterruptedException e) {11 //TODO Auto-generated catch block

12 e.printStackTrace();13 }14 System.out.println(name + "买走了第" + tickets-- + "张票");15 } else{16 System.out.println("票没了");17 }18 }19 }

JAVA题目 写一个收费站类_Java综合题目相关推荐

  1. java如何创建一个dao类_java – 如何设计一个DAO类?

    应该是什么是设计DAO类的最佳方式? 方法#1:将DAO类设计为对象. class Customer { //customer class } class CustomerDAO { public v ...

  2. JAVA定义一个鲜花类_Java作业 题目:16版.情人节送玫瑰花

    1.实验要求 本实验要求:以情人节送花为业务背景,体验自定义异常以及异常处理机制. 1-1. 业务说明: 1-1.1. 本实验以情人节送花为业务背景,女方提出送花需求,男方送出鲜花. 1-1.2. 当 ...

  3. Java实验实现一个circle类_Java实验报告四

    Java实验报告四 一.题目 1.根据下面的要求实现圆类Circle. 1).圆类Circle的成员变量:radius表示圆的半径. 2).圆类Circle的方法成员: Circle():构造方法,将 ...

  4. 用Java语言设计一个圆类_Java语言程序设计(一)

    1.咱们从一个简单的Java程序开始,该程序在控制台上显示消息"Welcome to Java!".首先咱们先建立一个java项目,我所用的编译器是Netbeans,打开Neatb ...

  5. Java (1)写一个类,名为Animal, 该类有两个私有属性,name(代表动物的名字),和legs(代表动物的腿的条数);要求为两个私有属性提供public的访问方法。并提供两个重载的构造方法,

    Java (1)写一个类,名为Animal, 该类有两个私有属性,name(代表动物的名字),和legs(代表动物的腿的条数);要求为两个私有属性提供public的访问方法.并提供两个重载的构造方法, ...

  6. 写一个ArrayList类的动态代理类

    动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实,代理对象对客户隐藏了实际对象.动态代理可以对请求进行其他的一些处理,在不允许直接访问某些类,或需要对访问做一些特殊处理等,这时候可以考虑 ...

  7. 写一个学生类,属性:学生姓名、性别、考试成绩、年龄;写一个班级类,属性:班级名、班主任名字、所有的学生(数组)。 班级类有方法: (一)获得班级所有学生的平均年龄; (二)获得班级的所有学生总成

    题目:写一个学生类,属性:学生姓名.性别.考试成绩.年龄:写一个班级类,属性:班级名.班主任名字.所有的学生(数组). 班级类有方法: (一)获得班级所有学生的平均年龄: (二)获得班级的所有学生总成 ...

  8. Day14作业 三、编程题 写一个Student类,属性:名字,年龄,分数,班级 (注意分包)

    三.编程题 写一个Student类,属性:名字,年龄,分数,班级 (注意分包) 写一个测试类:创建一个集合,里面装6个学生(有三个班级class01,class02,class03) 例如:list. ...

  9. java程序 购物车_用java代码写一个简单的网上购物车程序

    1 需求:1.写一个商品类,有商品编号.商品名称.商品分类.商品单价属性.2.写一个商品条目信息类,有商品和数量两个属性,有商品总价格方法.2 3 3.写一个购物车类,有添加商品方法.查看订单信息,删 ...

最新文章

  1. PHP 给图片制作水印的方法
  2. 【问题记录】eclipse启动web项目时,spring会初始化两次
  3. JAX-RS协议说明
  4. catia测量工具小尺子在哪_小区垃圾桶旁捡来旧茶几,老爸巧手改成沙发,邻居一个劲问哪买的...
  5. Airflow 中文文档:用upstart运行Airflow
  6. 单机多实例Tomcat部署
  7. 【GYM-100889 C】Chunin Exam【左右手路径问题】
  8. idea的tomcat改端口号_tomcat8修改端口,tomcat更改端口
  9. java bss_数据段、代码段、堆栈段、BSS段的区别
  10. 入手一年,再谈HiFi耳机的“白月光”——飞利浦Fidelio X3
  11. python3遍历目录查找文件
  12. 博客什么的写也就写了
  13. react基于WOW.js和Animate.css实现特定位置的动画执行
  14. GeekPwn再现碟中谍场景 黑客肆意控制智能摄像头
  15. erfc函数、persistent、turbo码
  16. 计算机无法转换文件,电脑中excel转换器无法打开文件的解决方法
  17. Java8新特性之filter过滤器
  18. 8086汇编学习之DS寄存器、SS/SP寄存器
  19. c#调用打印机(针式打印机),实现打印
  20. 2020-12-21

热门文章

  1. 如何用原型体现你的专业度?
  2. 电影短视频营销白皮书
  3. 作者:张峰(1978-),男,博士,国家海洋信息中心副研究员
  4. 【Python】Jupyter Notebook 配置路径
  5. 【Python】Matplotlib绘制散点图
  6. web.csproj Compile 下出现两个同名 xxx.cs 项目中出现两个xxx.cs
  7. MySQL参数文件位置
  8. LeetCode - Combinations
  9. 【1489】求二叉树的先序遍历 SDUTOJ
  10. 在Ubuntu中搭建.NET开发环境