Java基础类型题

  1. 反转一个只有3位数的整数。

从控制台输入321,输出123

1.1 解法1 分别求出每一位的值,然后倒序输出

正常思维解法,分别取出个位,十位,百位的值,然后输出

import java.util.Scanner;
public class Demo1 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入一个三位数的整数:");int inputNumber=scanner.nextInt();int geW=inputNumber%10;int shiW=inputNumber/10%10;int baiW=inputNumber/100;System.out.println(geW+""+shiW+""+baiW);}
}

1.2 解法2 使用charAt()方法

用到了字符串的charAt()方法,获取字符串中对应下标位置的单个字符。

import java.util.Scanner;
public class Demo1 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入一个三位数的整数:");int inputNumber=scanner.nextInt();String strNumber=inputNumber+"";System.out.println(strNumber.charAt(2)+""+strNumber.charAt(1)+""+strNumber.charAt(0)+"");}
}

1.3 解法3 将字符串转换为char类型的数组

扩展解法,最实用的解法,不管输入的数字有多少位,都可以正常反向输出

import java.util.Scanner;
public class Demo1 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入一个三位数的整数:");int inputNumber=scanner.nextInt();char temArray[]= strNumber.toCharArray();for(int i=0;i<temArray.length;i++){System.out.print(temArray[temArray.length-1-i]);}}
}
  1. 将一个字符由小写字母转换为大写字母

从控制台输入 a ,输出A
直接调用字符串的toUpperCase()

import java.util.Scanner;
public class Demo2 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入一个字符:");String a=scanner.next();System.out.println(a.toUpperCase());}
}
  1. 从控制台输入一个字符串,由字母组成,转换后输出。

如果输入的是小写,就转换成大写。
如果输入的是大写,就转换成小写
例如输入:abCd ,控制台输入 ABcD

3.1 解法1

解题思路:将字符串转换成char类型的数组,将字符串中字母转换改为单个字符的转换。转换完成后重新组装。
涉及的知识点:String类的toCharArray()方法,数组遍历,自动类型转换。

import java.util.Scanner;
public class Demo3 {public static void main(String[] args) {System.out.println("请输入一个字符串:");Scanner scanner = new Scanner(System.in);String inputStr = scanner.next();char[] tempArray = inputStr.toCharArray();String switchStr = "";// 保存转换后的字符串for (char singleCast : tempArray) {if (singleCast >= 'A' && singleCast <= 'Z') {String singleCastStr = singleCast + "";// 自动类型转换// char+String=String类型singleCastStr = singleCastStr.toLowerCase();// 转换成小写字母switchStr += singleCastStr;// 转换后拼接} else if (singleCast >= 'a' && singleCast <= 'z') {String singleCastStr = singleCast + "";// 自动类型转换// char+String=String类型singleCastStr = singleCastStr.toUpperCase();// 转换成大写字母switchStr += singleCastStr;// 转换后拼接} else {// 不是字母的,如符号,中文等switchStr += singleCast;}}System.out.println("转换后的值为:"+switchStr);}
}

3.2 解法2

解题思路,转换成单个字符串,然后通过Ascii码转换进行大小写互转。

import java.util.Scanner;
public class Demo3 {public static void main(String[] args) {System.out.println("请输入一个字符串:");Scanner scanner = new Scanner(System.in);String inputStr = scanner.next();char[] tempArray = inputStr.toCharArray();for (char singleCast : tempArray) {if (singleCast >= 'A' && singleCast <= 'Z') {System.out.print((char) (singleCast +32));} else if (singleCast >= 'a' && singleCast <= 'z') {System.out.print((char) (singleCast -32));} else {// 不是字母的,如符号,中文等System.out.print(singleCast);}}}
}
// from:207 付谨
  1. 输入三个整数x,y,z,请把这三个数由小到大输出。

例如输入:1,3,2 输出 1,2,3

  1. 输入5个整数a,b,c,d,e 对五个整数进行排序。

例如输入5,3,2,1,4 输出 1,2,3,4,5,

  1. 判断101-200之间有多少个素数,并输出所有素数。

素数:素数一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 例如3和5,7

  1. 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。并且可以实现循环输入学习成绩得出等级。

例如输入 90 输出 A, 输入50 输出C

  1. 输入一行字符,分别统计出其英文字母、空格、数字和其它字符的个数。

例如输入 Ab12 sd
输出字母:4,空格1个,数字2个,这里的数字按0到9算,12是1和2不是12

  1. 打印出如下图案(菱形)
   **********
******************
package com.lvan.demo8;public class demo8 {public static void main(String[] args) {for(int i=0;i<5;i++){for(int j=0;j<5-i;j++){System.out.print(" ");}for(int k=0;k<2*i+1;k++){System.out.print("*");}System.out.println();}for(int i=1;i<5;i++){for(int k=0;k<i+1;k++){System.out.print(" ");}for(int j=11;j>2*i+2;j--){System.out.print("*");}System.out.println();}}
}
    ****************
*********
package com.lvan.demo8;public class demo8 {public static void main(String[] args) {for(int i=0;i<5;i++){for(int j=0;j<5-i;j++){System.out.print(" ");}for(int k=0;k<2*i+1;k++){System.out.print("*");}System.out.println();}}
}
*
**
***
****
*****
public class App {public static void main(String[] args) {for(int i=0;i<6;i++){for(int k=0;k<i;k++){System.out.print("*");}System.out.println();}System.out.println();}
}
*
**
***
****
*****
****
***
**
*
package com.lvan.demo8;public class demo8 {public static void main(String[] args) {for(int i=0;i<5;i++){for(int k=0;k<2*i+1;k++){System.out.print("*");}System.out.println();}for(int i=1;i<5;i++){for(int j=11;j>2*i+2;j--){System.out.print("*");}System.out.println();}}
}
     **  **    **      **        **      **    **  **
package com.lvan.demo8;import sun.tools.jar.resources.jar;public class demo8 {public static void drawUp(){for(int i=0;i<5;i++){for(int j=0;j<(10-i);j++){System.out.print(" ");}System.out.print("*");for(int j=0;j<2*(i-1)+1;j++){System.out.print(" ");}if(i!=0){System.out.print("*");}System.out.println();}}public static void drawDown(){for(int i=0;i<=5;i++){for(int k=0;k<5+i;k++){System.out.print(" ");}System.out.print("*");for(int k=0;k<2*(5-i-1)+1;k++){System.out.print(" ");}if(i!=5){System.out.print("*");}System.out.println();}}public static void main(String[] args) {drawUp();drawDown();}
}
  1. 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

使用if来判断,分别求,最易理解,代码较多

package com.test.demo;
import java.util.Scanner;public class App {public static void main(String[] args) {System.out.println("请输入一个不多于五位的整数:");Scanner scanner=new Scanner(System.in);int number=scanner.nextInt();if(number>=10000){System.out.println("该数为5位数");}else if(number>=1000){System.out.println("该数为4位数");}else if(number>=100){System.out.println("该数为3位数");}else if(number>=10){System.out.println("该数为2位数");}else if(number>=0){System.out.println("该数为1位数");}else{System.out.println("输入错误");}if(number>=10000){System.out.print(number%10 );number=number/10;}if(number>=1000){System.out.print(number%10);number=number/10;}if(number>=100){System.out.print(number%10+"--");number=number/10;}if(number>=10){System.out.print(number%10);number=number/10;}if(number>=1){System.out.print(number%10);number=number/10;}}
}

简化1:将数字转化为字符串,调用tochararray方法将字符串转化为单字符数组,获取数组长度即为输入的数字的位数。再通过循环求余每次输出最后一位数。简化后便不受位数限制,可以接收用户任意输入的数字。

package com.test.demo;
import java.util.Scanner;public class App {public static void main(String[] args) {System.out.println("请输入一个不多于五位的整数:");Scanner scanner=new Scanner(System.in);int number=scanner.nextInt();String numberStr=number+"";int n=numberStr.toCharArray().length;System.out.println("该数为"+n+"位数");for(int i=0;i<n;i++){System.out.print(number%10);number=number/10;}}
}

解法2:直接通过转化成单字符来进行输入和输出,不受输入内容的限制,即可输入其他的非数字字符。

package com.test.demo;
import java.util.Scanner;public class App {public static void main(String[] args) {System.out.println("请输入一个不多于五位的整数:");Scanner scanner=new Scanner(System.in);
//      int number=scanner.next();String numberStr=scanner.next();char[] numberStrArray=numberStr.toCharArray();int n=numberStrArray.length;System.out.println("该数为"+n+"位数");for(int i=0;i<n;i++){System.out.print(numberStrArray[n-i-1]);}}
}
  1. 求一个3*3矩阵对角线元素之和。

3*3 矩阵,即为一个3行3列的二维数组。

package com.test.demo;
import java.util.Random;
import java.util.Scanner;public class App {public static void main(String[] args) {int [][] number=new int[3][3];for(int i=0;i<3;i++){for(int k=0;k<3;k++){number[i][k]=new Random().nextInt(50);System.out.print(number[i][k]+" ");}System.out.println();}int sum=0;for(int i=0;i<3;i++){for(int k=0;k<3;k++){if(i==k){sum+=number[i][k];}}}System.out.println("和为"+sum);}
}

输出:

4 37 21
4 42 3
9 21 47
和为93
上述为左上到右下的对角线的求和,左下到右上感兴趣的可以做一下评论区留言。

  1. 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

例如 已有数组为[1,3,4,5,6] 升序 输入 2 时 输出 [1,2,3,4,5,6]
输入3时 输出[1,3,3,4,5,6]
已有数组为[6,5,2,1]降序 输入3时 输出 [6,5,3,2,1]
输入5时 输出[6,5,5,2,1]

  1. 将一个数组逆序输出。

输入 3,2,1,5,6 输出 6,5,1,2,3

  1. 取一个大于7位的整数a从右端开始的4~7位。

输入 1235678 输出 123
输入12345678910 输出678

  1. 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

输入 5,7,1,3,2 输出 7,5,2,3,1

  1. 计算字符串中子串出现的次数。

输入 abca
输出 a-2,b-1,c-1, ab-1,bc-1,ca-1,abc-1,bca-1,abca-1

  1. 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩并输出。

要求,输入每个学生的信息后得出该学生的平均成绩。五个学生信息都有成绩后再求出五个学生的平均成绩。

  1. 编写程序,从键盘输入一个 0~99999 之间的任意数,判断输入的数是几位数?

输入 10 输出2
输入110 输出3

  1. 用 while 循环和for循环分别打印出 1~200 之间所有 3 的倍数之和。
  2. 已知 XYZ+YZZ=532,其中,X、Y、Z 为数字,编程求出 X、Y 和 Z 的值。
  3. 写一个猜拳游戏,从控制台输入石头、剪刀、布,后台随机生成对应和输入的做比较,看看谁能赢,输,和平局。
  4. 打印出999以内所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。(例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。)
  5. 将一个正整数分解质因数。例如:输入90,打印出90=233*5
  6. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
  7. 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(完全平方数 :如果一个正整数 a 是某一个整数 b 的平方 .0也是完全平方数)、
  8. 输出9*9口诀。
  9. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天 剩下的一半零一个。 到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
  10. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
  11. 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。完数的意思是将所有因数加起来的和等于这个数.比如28= 1+2+4+7+14
  12. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
  13. 输入两个正整数m和n,求其最大公约数和最小公倍数。
  14. 求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。输出结果的形式如:2+22+222=246;
  15. 一球从h米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第n次落地时,共经过多少米?第n次反弹多高?程序分析:反弹的高度:(1/2)的n次方*h
  16. 利用递归方法求5!。
  17. 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大。
  18. 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
  19. 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
  20. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
  21. 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
  22. 809*??=800*??+9*??+1,其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
  23. 输出两个素数之和位偶数的数(一万以内)。
  24. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
  25. 输入 3 个正数,判断能否构成一个三角形。
  26. 编写程序解决“百钱买百鸡”问题。公鸡五钱一只,母鸡三钱一只,小鸡一钱三只,现有百钱欲买百鸡,共有多少种买法?
  27. 验证“鬼谷猜想”:对任意自然数,若是奇数,就对它乘以 3 再加 1;若是偶数,就对它除以 2,这样得到一个新数,再按上述计算规则进行计算,一直进行下去,最终必然得到 1。
  28. 设计2个类,要求如下

定义一个汽车类Vehicle

  1. 属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型)。
  2. 至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。
  3. 为属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。
  4. 定义一个一般方法run(),用打印语句描述汽车奔跑的功能
  5. 在main方法中创建一个品牌为―benz‖、颜色为―black‖的汽车。
  6. 定义一个Vehicle类的子类轿车类Car
  7. 轿车有自己的属性载人数loader(int 类型)。
  8. 提供该类初始化属性的构造方法。
  9. 重新定义run(),用打印语句描述轿车奔跑的功能。
  10. main方法中创建一个品牌为―Honda‖、颜色为―red‖,载人数为2人的轿车。
  1. Cola公司的雇员分为以下若干类:
  1. ColaEmployee :这是所有员工总的父类,属性:员工的姓名,员工的生日月份。方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100 元。
  2. SalariedEmployee : ColaEmployee 的子类,拿固定工资的员工。属性:月薪
  3. HourlyEmployee :ColaEmployee 的子类,按小时拿工资的员工,每月工作超出160 小时的部分按照1.5 倍工资发放。属性:每小时的工资、每月工作的小时数
  4. SalesEmployee :ColaEmployee 的子类,销售人员,工资由月销售额和提成率决定。属性:月销售额、提成率
  5. 定义一个类Company,在该类中写一个方法,调用该方法可以打印出某月某个员工的工资数额,写一个测试类TestCompany,在main方法,把若干各种类型的员工放在一个ColaEmployee 数组里,并单元出数组中每个员工当月的工资。
  1. 编写三个系别的学生类:英语系,计算机系,文学系(要求通过继承学生类)
  1. 各系有以下成绩:
    英语系: 演讲,期末考试,期中考试;
    计算机系:操作能力,英语写作,期中考试,期末考试;
    文学系: 演讲,作品,期末考试,期中考试;
  2. 各系总分评测标准:
    英语系: 演讲 50% 期末考试 25% 期中考试 25%
    计算机系: 操作能力 40% 英语写作 20% 期末考试 20% 期中考试 20%
    文学系: 演讲 35% 作品 35% 期末考试 15% 期中考试 15%
  3. 定义一个可容纳5个学生的学生类数组,使用随机数给该数组装入各系学生的对象,然后按如下格式输出数组中的信息:
    学号:XXXXXXXX 姓名:XXX 性别:X 年龄:XX 综合成绩:XX
  1. 要求编写一个Java应用程序:

编写一个矩形类Rect,包含:

  1. 两个protected属性:矩形的宽width;矩形的高height。
  2. 两个构造方法:一个带有两个参数的构造方法,用于将width和height属性初化;一个不带参数的构造方法,将矩形初始化为宽和高都为10。
  3. 求矩形面积的方法area(),求矩形周长的方法perimeter()
  4. 通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用矩形的左上角坐标来标识,包含:添加两个属性:矩形左上角坐标startX和startY。
    4.1 两个构造方法:
    带4个参数的构造方法,用于对startX、startY、width和height属性初始化;
    不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0的矩形;
    4.2 添加一个方法:
    判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩形内,返回true, 否则,返回false。提示:点在矩形类是指满足条件:
    x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)
  5. 编写PlainRect类的测试程序
    5.1 创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;
    5.2 计算并打印输出矩形的面积和周长;
    5.3 判断点(25.5,13)是否在矩形内,并打印输出相关信息。
  1. 类的成员变量 猜数字游戏一个类A有一个成员变量v有一个初值100。定义一个类对A类的成员变量v进行猜。如果大了则提示大了小了则提示小了。等于则提示猜测成功。
  2. 类的成员变量 请定义一个交通工具(Vehicle)的类其中有: 属性速度(speed)体积(size)等等 方法移动(move())设置速度(setSpeed(int speed))加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象并通过方法给它初始化speed,size的值并且通过打印出来。另外调用加速减速的方法对速度进行改变。
  3. 构造方法 编写Java程序模拟简单的计算器。 定义名为Number的类其中有两个整型数据成员n1和n2应声明为私有。编写构造方法赋予n1和n2初始值再为该类定义加addition、减subtration、乘multiplication、除division等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象调用各个方法并显示计算结果。
  4. 构造方法 编写Java程序用于显示人的姓名和年龄。 定义一个人类Person该类中应该有两个私有属性姓名name和年龄age。定义构造方法用来初始化数据成员。再定义显示display方法将姓名和年龄打印出来。 在main方法中创建人类的实例然后将信息显示。
  5. 定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(intx0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动,创建两个Point对象p1、p2,分别调用movePoint方法后,打印p1和p2的坐标
  6. 设计一个类Student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息
  7. 定义两个类,描述如下: [必做题]

• 定义一个人类Person:
• 定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”
• 有三个属性:名字、身高、体重
• 定义一个PersonCreate类:
• 创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74
• 分别调用对象的sayHello()方法。

  1. 定义两个类,描述如下: [必做题]

• 定义一个人类Person:
• 定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”
• 有三个属性:名字、身高、体重
• 通过构造方法,分别给三个属性赋值
• 定义一个Constructor类:
• 创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74
• 分别调用对象的sayHello()方法。

  1. 在D盘创建一个ss的目录,在ss下面创建一个s.txt文件,在文件里边写入Hello World。
  2. 把57中的s.txt文件读取到内存中,显示到控制台
  3. 统计s.txt中各个字符出现的次数,打印到控制台
  4. 把s.txt中大写转成小写,小写转成大写,空格转成下划线,在输入到文件中覆盖之前的。
  5. 从控制台输入一个路径,程序循环读取这个路径下有多少文件夹?多少文件?
  6. 拷贝一张图片从D盘到F盘、移动一张图片从D盘到F盘
  7. 使用随机文件流类RandomAccessFile将一个文本文件倒置读出
  8. 编写一个Java应用程序,可以实现Dos中的type命令,并加上行号。即将文本文件在控制台上显示出来,并在每一行的前面加上行号。
  9. 输入两个文件夹名称,将A文件夹内容全部拷贝到B文件夹,要求使用多线程来操作。
  10. 在控制台接受一个数字大小的类型,比如输入5M,或者5KB,查找统计出电脑D盘目录下小于5M的文件有多少个,或者小于5KB的大小有多少个文件。
  11. 在控制台输入2个mp3的路径,程序接受到后对两个mp3进行合成。合成后输出到D:/merge.mp3。
  12. 对上面题目进行稍加改动,从控制台接受至少两个mp3路径,输入q退出,程序对这些路径的mp3进行合成。
  13. 从网络下载一个图片到电脑的D盘(选做题)
  14. 对文件进行压缩
  15. 对一个文件夹进行压缩
  16. 创建一个ArrayList集合,输入10个数,将数从大到小输出,从小到大输出,随机输出。
  17. 已知有两个容器List,第一个List装有【小编,小王】,第二个容器装有【95分,94分】,请把第二个容器的94分改成95分,通过迭代器在控制打印出:

小编:95分
小王:95分

  1. 创建一个HashMap,里边存有key:username,value:password,的用户密码信息,从控制台输入一个用户和密码,程序在后台判断用户名在map中是否存在,如果不存在,就提示用户名错误,用户正确,在判断当前用户名对应的密码是否和输入的一致,如果一致就提示用户密码正确.
  2. 有两个list集合,l1数据有1,2,3,4 l2数据有 2,3,4,5, 将两个集合中重复的数据移除,并且把不重复的添加到第三个l3集合里边。
  3. 创建一个List集合,里边有20组数据,在创建一个Map,把List中下标为0的作为map的key,下标为list.length()-1的为map的value,依次类推,最后在控制台打印出map所对应的key和value。
  4. 创建一个Map集合,里边有10组数据,假如key为1到10,value为11到20,从控制台接受1到20之间的数,程序后台判断map中key和value有没有对应的,如果有提示当前数字为key,对应的值是多少,如果是值匹配上了,提示匹配到值为xx,对应的key为yy。
  5. 有如下需求,中国队,美国队,日本队,每个国家队下面又有乒乓球,羽毛球,篮球,每个球类下面有第一组,第二组,第三组,每个组下面有教练,队员,教练和队员的信息有用户名和性别,年龄,职位。请根据以上的需求利用List和Map以及学的集合类的知识点来完成这道题目。
  6. 反射例子
  1. 定义一个Java类,Person,属性有name、age,使用反射创建一个实例,调用构造函数初始化name和age,并且调用里边的sayHello()方法。
  2. 定义一个Java类,Person,通过反射把给里边所有的字段的赋值
  3. 通过反射调用main函数。
  4. 通过反射去创建对象,分别用Constructor和Class对象去创建
  5. 定义一个Person类,person类继承了Base类,通过反射去查看Person类继承了哪个类。
  6. 通过反射创建一个ArrayList对象,并且调用里边的方法添加一些数据,循环list,把对象打印到控制台。
  1. 有如下数组 int[] arr = {1,2,3,4,5,6,7,8,9,10},现有两个人进行抽签,A先抽签,B继续抽签,A继续抽签,依次类推,直到抽完为止,抽一次少一次,不能有重复的,用两个线程模拟两个人的抽签,随机抽签,把抽签的结果打印到控制台,记住,这里是用数组,不是集合来存取1到10。
  2. 某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程,并分别统计每个入口入场的人数,以及每个员工拿到的彩票的号码。线程运行后打印格式如下:

编号为: 2 的员工 从后门 入场! 拿到的双色球彩票号码是: [17, 24, 29, 30, 31, 32, 07]
编号为: 1 的员工 从后门 入场! 拿到的双色球彩票号码是: [06, 11, 14, 22, 29, 32, 15]
//…
从后门入场的员工总共: 13 位员工
从前门入场的员工总共: 87 位员工

  1. 开启一个子线程循环3次,主线程循环3次,然后子线程循环3次,主线程循环3次,这样循环10次;
  2. 写一个买票的例子,模拟3个窗口同时买60张票。
  3. 利用多线程去扫描统计你的电脑D盘前5个文件目录,并且统计出来各个目录地下有多少目录和文件,并且目录的深度是多少,比如有D:/a/b/c/d 这个目录结构相对于a来说,他的深度是3,因为他下面有目录d。统计出a目录下面有多少个目录包括子目录,递归统计,有多少个文件,递归统计,各个文件的类型有多少个,比如,txt有10个,exe有2个等。要求使用5个线程,每个线程各统计一个目录。(综合性题)
  4. 匹配一个手机号码是否正确,格式要求为11位或者7位座机号码,判断要严格缜密。
  5. 匹配一个邮箱号码,并且只有163,qq,126 这三种邮箱
  6. 匹配一个URL,分析URL的特性,并且效验是否正确
  7. 匹配密码的强度,要求包含至少一位大写,大小写和数字组合,不能出现任何特殊符号,比如Abc123Dcd是正确的
  8. 匹配一段文字里边是否包含中文,如果包含,报中文替换成*号,并且把替换后的在控制台打印出来
  9. 从控制台输入一个字符串,用正则效验是否为数字?
  10. 匹配一个字符串是否是日期格式,日期格式如下:2018-12-12 12:12:12 或者 2019/02/24 09:11:23 这两种格式
  11. 从网上下载一个图片到D:/xxx.mp3
  12. http://www.duwenzhang.com/wenzhang/renshengzheli/ganwu/20130515/255476.html 把这篇文章的源码读取下来,利用正则表达式把文字部分匹配出来打印到控制台(选择题)
  13. 用Socket创建一个服务端和一个客户端,客户端发送一条消息到服务端,服务端收到后把消息原样回给客户端
  14. 在上面的基础上进一步改进,图片端发送个图片到服务端,服务端接受到保存到电脑的D:/yyy.jpg
  15. 在上面的基础上进一步改进,把图片的名字和图片本身转成的byte数组封装到对象里边,把对象传到服务端,服务端接受到后对对象进行解析,把图片保存到D盘下,图片名称用传过来的原图片名称。
  16. 写一个基于UDP客户端发送到服务端的例子
  17. StringBuilder是动态扩容的,根据他的这个特性,自己实现一个StringBuilder类。
  18. 利用swing实现一个包含登录,注册的小型系统。
  19. 使用jdbc完成99中的数据库连接,并实现增删改查功能

jdk1.8中文文档 chm

链接:https://pan.baidu.com/s/1MVvSeQbQ78NKVLPrzRUdNA
提取码:7v47
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V2的分享

jdk1.8网页文档 html

链接:https://pan.baidu.com/s/1rg7bGwYJCL5_KBIWif7jYA
提取码:f0n6
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V2的分享

javase基础课程练习题(附多种解法答案)相关推荐

  1. 学计算机基础word题,大学计算机基础word练习题及详解答案.doc

    大学计算机基础word练习题及详解答案 操作要求 1. 对正文进行排版,其中: (1)章名使用样式"标题1",并居中: 编号格式为:第X章,其中X为自动排序.(本小题1分) (2) ...

  2. 学计算机基础word题,大学计算机基础word练习题及详解答案

    大学计算机基础练习题 操作要求 1. 对正文进行排版,其中: (1)章名使用样式"标题1",并居中: 编号格式为:第X章,其中X为自动排序.(本小题1分) (2)小节名使用样式&q ...

  3. 土力学地基基础课程题库及参考答案

    一. 简答题 1. 什么是土的物理性质指标?哪些是直接测定的指标?哪些是计算指标? 2. 甲土的含水量大于乙土,试问甲土的饱和度是否大于乙土? 3. 什么是塑限.液限和缩限?什么是液性指数.塑性指数? ...

  4. 【备战春招/秋招系列】美团Java面经总结进阶篇 (附详解答案)

    <!-- MarkdownTOC --> 一 消息队列MQ的套路 1.1 介绍一下消息队列MQ的应用场景/使用消息队列的好处 ①.通过异步处理提高系统性能 ②.降低系统耦合性 1.2 那么 ...

  5. 【备战春招/秋招系列】美团Java面经总结终结篇 (附详解答案)

    该文已加入开源项目:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识的文档类项目,Star 数接近 14 k).地址:https://github.com/Snailclimb.. ...

  6. 【备战春招/秋招系列】美团Java面经总结终结篇 (附详解答案) 1

    该文已加入开源项目:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识的文档类项目,Star 数接近 14 k).地址:https://github.com/Snailclimb/J ...

  7. 大学计算机基础知识素材PPT,大学计算机基础操作练习题「附答案」

    大学计算机基础操作练习题「附答案」 一.操作题 完成下面一个例子,就存一次盘, 避免操作失误损失. [例5.1]打开指定文件夹下的演示文稿yswg43.ppt,内容如下:(参见素材yswg43.ppt ...

  8. 2017计算机应用基础统考,计算机应用基础统考练习题「附答案」

    下面小编为大家分享的是计算机应用基础统考的练习题及答案,希望对大家备考计算机应用基础统考考试有帮助! 单选题 1.电子计算机按使用范围分类,可以分为______. A:巨型计算机.大中型机.小型计算机 ...

  9. 华东理工大学网络学院计算机应用基础试卷,华东理工大学2014年半年计算机应用基础课程期末考试试卷附的答案.doc...

    华东理工大学2014年半年计算机应用基础课程期末考试试卷附的答案 华东理工大学继续教育学院成人教育 2014年 上(上.下)半年<计算机应用基础>课程期末考试试卷 考试形式: 闭.开卷 考 ...

最新文章

  1. JVM基础面试题及原理讲解
  2. python的异常处理机制
  3. 【JavaSE02】Java基本语法-概念
  4. appium连接模拟器时屏幕倒转
  5. 视频直播技术详解:直播的推流调度
  6. Scala.js:将Scala编译为JavaScript的编译器
  7. Nginx Parsing HTTP Package、header/post/files/args Sourcecode Analysis
  8. 滴滴升级“极速拼车”:未拼成可享折扣 拼成更便宜
  9. jQuery给页面弹出层添加半透明背景
  10. 凸优化第三章凸函数 3.6 关于广义不等式的凸性
  11. 第一课:安卓开发工具Android Studio最新版本的安装
  12. win10任务栏透明_谈谈我的Windows系统使用历程和win10桌面美化
  13. win10无法安装迅雷精简版解决办法
  14. 会员运营是什么?会员运营体系有哪些类别?
  15. 戴德金--连续性和无理数--我自己做的中文翻译第1页
  16. Simotion应用与组网之一安装篇
  17. bat获取管理员权限运行
  18. 隐马尔科夫模型——学习算法
  19. 用js,css做一个音乐播放器
  20. 记一次监控录像断续摄像头时而在线问题

热门文章

  1. 中日关系遇冷致日企缺席中国动漫博览会
  2. Conditional DETR浅析
  3. java从头再来--java
  4. 我的创作纪念日 - CSDN三周年
  5. pandas 数据格式转换
  6. 计算机备课组学期工作计划,学校计算机教研组工作计划
  7. ubuntu一键安装msf
  8. Java之多线程下载工具类
  9. 热门好用的二维码识别API
  10. ESP32 Light-sleep 测试指南