![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java经典题
文章平均质量分 86
学习记录
yakiniku4j
//TODO
展开
-
学习记录—— java 100以内素数
题目输出100以内素数这题之前有过一题求素数是求101~200以内的素数可以借鉴。这次只用了其中比较简单的方法。以下public class Problem27 { // 下面方法判断是否是素数,且可同时输出 public static boolean isPrimeNumber(int n){ if(n==1) return false; //1非素数 for (int i = 2; i*i <=n ; i++) {原创 2020-05-27 21:07:18 · 183 阅读 · 0 评论 -
学习记录—— java 求输入数字和
static void count(int a, int n) { int s=a; int t =a; for (int i=1;i<n;i++) { a= a*10+t; s=s+a; } System.out.println(s);}public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a =sc.nextInt(); int n =sc.nex原创 2020-05-27 20:05:05 · 173 阅读 · 0 评论 -
学习记录——java 求一年第几天
题目题目:输入某年某月某日,判断这一天是这一年的第几天?用switch case 判断是第几月以下import java.util.Scanner;public class Practice14 { public static void main(String[] args) { Scanner scan = new Scanner(System.in).useDelimiter("\\D"); //正则表达式,匹配非数字 System.out.pri原创 2020-05-24 18:50:36 · 193 阅读 · 0 评论 -
学习记录——java 统计各类字符个数
题目题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。没有用作业上的方法…之前看过一个用正则表达式的方法,但是现在还不会。一开始想到的就是ascii table1.从控制台获取字符串;2.将字符串转换成字符数组;3.判断每个字符属于哪个类型,count。以下import java.util.Scanner;public class Practice7 { public static void main(String[] args) { S原创 2020-05-24 11:09:24 · 719 阅读 · 0 评论 -
学习记录——java 完全平方数
题目在10万以内判断一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少?平方数定义:完全平方指用一个整数乘以自己例如1*1,2*2,3*3等,依此类推。若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。——from百度百科以下public class PerfectSquare { public static void main(String[] args) { for (int i = 1; i <=1000原创 2020-05-23 22:19:30 · 597 阅读 · 0 评论 -
学习记录——java 奖金-利润
题目企业发放的奖金根据利润提成。利润(I)低于或等于 10 万元时,奖金可提 10%;利润高于 10 万 元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可可提成 7.5%;20 万到 40 万之间时,高于 20 万元的部分,可提成 5%;40 万到 60 万之间时高于 40 万元的部分,可提成 3%;60 万 到 100 万之间时,高于 60 万元的部分,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按 1%提成, 从键盘输入当月利润(I),求应原创 2020-05-23 21:23:06 · 235 阅读 · 0 评论 -
学习记录——java 三位数组合
题目题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?三位数,分别是百、十、个。百位4种选择,则十位剩下3种选择、各位只剩下2种选择。则可组合的三位数为4*3*2=24种目前想到的就是三重循环……= =但是位数一直增加怎么办以下public class Problem11 { public static void main(String[] args) { int count =0; //记录多少种 for(int i=1;i原创 2020-05-19 01:47:30 · 961 阅读 · 0 评论 -
学习记录——java GCD
题目输入两个正整数 m 和 n,求其最大公约数(Greatest Common Divisor)和最小公倍数首先,最大公约数(Greatest Common Divisor)指两个或多个整数共有约数中最大的一个最小公倍数(Least Common Multiple):两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数方法一 辗转相除法以下public class GCD { static int gcd(int a,int b) {原创 2020-05-15 02:41:40 · 352 阅读 · 0 评论 -
学习记录——java perfect number
题目求1000以内完数完数定义:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数)恰好等于它本身例如:1+2+4+7+14=28以下 public class PerfectNumber { public static void main(String[] args) { int s =0; for(int i=2;i<1000;i++) { for(int j=1原创 2020-05-15 02:24:55 · 262 阅读 · 0 评论 -
学习记录——java 分解质因数
题目将一个大于 2 正整数分解质因数。例如:输入 3, 3=3, 输入 6, 6=23,输入 90, 90=2335分析:对n进行分解质因数,需找到一个最小的质数 k,1)如果这个质数恰等于k,则打印n。如果n不等于k:2)n能被k整除,则打印k的值,并且以n/k的商作为新的正整数n,重复执行1);3)n不能被k整除,则k++;重复执行1)以下import java.util.Scanner;public class Problem { static int k =2;原创 2020-05-11 21:11:31 · 488 阅读 · 0 评论 -
学习记录——java 水仙花数
题目打印出所有的"水仙花数"定义水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。因为简单,所以直接上:static int result (int number) { int x = numbe原创 2020-05-11 03:21:51 · 167 阅读 · 0 评论 -
学习记录——java 求素数
题目判断 101-200 之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。判断素数的方法n 除以 [2,n],如果能被整除,则表明非素数,否则是。n除以 [2,sqrt(n) ],如果能被整除,则表明非素数,否则是。原因:若n非素数,则可以被分解成两个不等于1的约数x1,x2,...原创 2020-05-07 00:10:15 · 266 阅读 · 0 评论 -
学习记录——java 死不了的兔子
题目deathless rabbit有一对兔子从出生后第3个月起每个月都生一对兔子,小兔子长到三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?分析得出:某月兔子对数 = 前一个月兔子对数 + 前两个月兔子对数因为题目说出生后第3个月起才可以生兔子,所以两个月后应该为上月兔子对数加上新出生的兔子对数(即刚好可以生的兔子对数)按月份规律:1,1,2,3,5,8,1...原创 2020-05-06 00:59:32 · 147 阅读 · 0 评论 -
学习记录——Java 判断分数等级
题目利用条件运算符的嵌套来完成此题:mark >=90 -> A60-89分 ->B60以下 -> C以下import java.util.Scanner;public class Judge { public static void main (String[] args) { double score; Scanner scan = ne...原创 2020-01-02 23:01:13 · 692 阅读 · 0 评论 -
学习记录——Java 自由落体
题目一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第 10 次落地时,共经过多少米?第 10次反弹多高?以下public class Balljump { public static void main(String[] args) { double meter = 100; // 原始高度为100 double...原创 2020-01-02 22:52:12 · 438 阅读 · 0 评论 -
学习记录——Java环境配置 windows
Java windos上 安装开发环境首先下载Java开发工具包JDK。下载地址选择Windos 64位JDK(Java Development Kit) ,是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。下载并安装JDK,可以开发...原创 2019-12-08 16:11:04 · 111 阅读 · 0 评论 -
学习记录—— java 移动位置
题目有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数,比如输入数字为 1 2 3 4 5 6 7 8 9 0,m=4,则结果为 7 8 9 0 1 2 3 4 5 6具体方法是:将前面n-m个元素逆置;再将剩余元素逆置;最后整体逆置一遍即可!以下public class Problem36 { // 数组转置,x为数组,a、b分别是需要转置的数组范围下标 public static void reverse(int[]x, int原创 2020-06-05 10:17:29 · 188 阅读 · 0 评论 -
学习记录—— java 最大最小交换
题目最大最小交换输入一个数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组以下public class Problem35 { public static void change(int[] arr){ int max=0, min =0; for (int i = 0; i <arr.length ; i++) { if(arr[i]>arr[max]){ max=i;原创 2020-06-05 03:46:11 · 703 阅读 · 0 评论 -
学习记录—— java 杨辉Triangle、空心菱形
题目打印杨辉三角(10行)本来这种题和打印菱形的题我都不太会…… = = 因为不知道要怎么去控制循环的大小。但是看了b站这个视频,太清晰了。非常推荐:第一期:杨辉三角可能还是得先想明白整个规律、逻辑是什么,再动手写会比较好。以下/*杨辉三角又叫做PascalTriangle1 1 空格数= n-111 1 1 n-2121 1 2 1原创 2020-06-05 03:17:26 · 222 阅读 · 0 评论 -
学习记录—— java 取某整数指定位(左移右移)
题目取一个整数 a 从右端开始的 4~7 位首先要理解题意… 看了网上好多人理解为一个十进制大于7位的数…… 但是作业里的提示告诉我应该是要进行位运算……然后这题用到了一个方法Integer.toBinaryString() 可以将十进制转成二进制。 0.0 那就不用自己写了因为肯定也写得很垃圾。关于这个方法有时间可以看看这个->别人的方法探究以下public class Problem32 { public static void main(String[] args) {原创 2020-06-04 23:52:54 · 548 阅读 · 0 评论 -
学习记录—— java矩阵对角线之和
题目题目:求一个 3*3 矩阵对角线元素之和emmm 不知道如何美观地输入一个二维数组元素……以下import java.util.Scanner;public class Problem29 { public static void main(String[] args) { Scanner scan=new Scanner (System.in); // 创建一个二维数组 int [][] arr = new int [3][3];原创 2020-06-04 19:24:06 · 562 阅读 · 0 评论 -
学习记录—— java 插入数字
题目有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组这个就是直接插入排序的一次循环 吧以下import java.util.Scanner;public class Problem30 { public static int[] insert(int[]arr ,int n,int x ){ //创建一个临时数组,大小为n+1,并且将要插入的数x放至数组最后 int[] tempArray = new int [n+1];原创 2020-06-04 19:15:56 · 413 阅读 · 0 评论 -
学习记录—— java 星期几
题目请输入星期几的第一个字母来判断一下是星期几。如果第一个字母一样,则继续判断第二个字星期简写:Mon Tues Weds Thurs Fri Sta Sun以下import java.util.Scanner;public class Problem26 { public static void main(String[] args) { Scanner scan = new Scanner (System.in); System.out.print原创 2020-06-02 20:47:08 · 269 阅读 · 0 评论 -
学习记录—— java 数组逆序
题目将一个数组逆序输出。 此题没有指定数组类型,那么默认是个int类型好了。其实和之前一题逆序打印输入的各位数字一题是差不多的。以下public class Problem31 { //倒序的方法 public static int[] reverse( int[] x){ int [] result = new int[ x.length]; for (int i = 0 , j = x.length-1 ; i <result.leng原创 2020-06-01 21:48:30 · 196 阅读 · 0 评论 -
学习记录—— java判断回文数
题目题目:一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与千位相同。方法: 字符串形式的数->转换为字符数组->第一个和最后一个比较是否相等,然后第二个和倒数第二个比较……如此。以下public class Problem25 { public static void isPalindrome(String n){ char[] chr = n.toCharArray(); //用来判断是不是回文数原创 2020-05-31 20:21:59 · 198 阅读 · 0 评论 -
学习记录—— java 逆序打印
题目给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字思路: 1.输入时为字符串的“整数” ,然后使用toCharArray()方法, 变为字符数组。(这个是在写统计字符个数这题学到的 )2.用一个for循环,从数组最后开始遍历,打印。以下import java.util.Scanner;public class Problem24 { public static void main(String[] args) { Scanner scan原创 2020-05-31 18:31:48 · 624 阅读 · 0 评论 -
学习记录—— java 求岁数
题目有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后问第一个人,他说是 10 岁。请问第五个人多大?year5=year4+2 ……使用递推,只需要在递归求阶乘题目的基础上稍加修改即可。以下public class Problem23 { public static int func( int n){ if(n == 1)原创 2020-05-29 01:15:45 · 184 阅读 · 0 评论 -
学习记录—— java递归求阶乘
题目用递归求5!学习递归的用法是关键。记得在递归函数中一定要有个return以下public class Problem22 { // 递归函数 public static int func( int n){ if(n == 1) return 1; return n*func(n-1); } public static void main(String[] args) { int result =func(5);原创 2020-05-29 01:08:08 · 137 阅读 · 0 评论 -
学习记录—— java 求阶乘的和
题目求 1+2!+3!+…+20!的和先将每个阶乘求出,后相加以下public class Problem21 { public static void main(String[] args){ int count =0; for (int i = 1; i <=20; i++) { //共有20个数相加 int s =1; // 求阶乘 for (int j = 1; j原创 2020-05-29 00:57:13 · 181 阅读 · 0 评论 -
学习记录—— java 分数序列前20项和
题目有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前 20 项之和。可看出规律为从n=2起,分子=前一个数的分子、分母之和; 分母=前一个数的分子。以下public class Problem20 { public static void main(String[] agrs){ double a =2; //a为分子 double b =1; //b为分母 double s =0; //记原创 2020-05-29 00:42:55 · 1342 阅读 · 0 评论 -
学习记录—— java 输出菱形(review)
题目RT,输出菱形主要方法就是将菱形分成上下两部分,然后分别打印空白和*号。参考来源:实例-打印菱形这题想不通内层循环的条件该怎么取,结果还是参考了别人的。以下public class Problem19 { public static void main(String[] args) { int n =9; // n为多少行的菱形 if( n%2==0){ //如果n为偶数 n++; }原创 2020-05-29 00:26:53 · 144 阅读 · 0 评论 -
学习记录——java 乒乓球赛(review)
题目甲乙两队进行乒乓球赛。甲队:a,b,c 三人; 乙队:x,y,z三人条件:a不和x比,c不和x,z比求对战名单此题没想出来,参考了网上的做法。贴出来:别人的方法以下public class Problem18 { public static void main(String[] args) { //i,j,k 分别假设为与a,b,c三人对战的乙队成员 char i,j,k; for ( i = 'x'; i <='z' ;原创 2020-05-27 23:52:22 · 193 阅读 · 0 评论 -
学习记录——java 猴子吃桃子
题目猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。重点:第10天 peachnumber = 1;day(n)=day(n-1)/2-1容易得出:以下public class Problem17 { public static void main(String[] args){原创 2020-05-27 22:34:29 · 158 阅读 · 0 评论 -
学习记录—— java 九九乘法表
题目如标题,输出9*9乘法表思路so easy …… 两个循环搞定啦以下public class Problem16 { public static void main(String[] args){ for (int i = 1; i <10 ; i++) { for (int j = 1; j <10 ; j++) { System.out.print(i+"*"+j+"="+i*j+" ")原创 2020-05-27 22:16:10 · 117 阅读 · 0 评论 -
学习记录—— java 从小到大输出整数
题目输入三个整数 x,y,z,请把这三个数由小到大输出。= = 想了老半天 怎么用类似c的那种可以用指针然后swap,…好吧但是还没想出来,暂时就以下笨办法java参数传入方法不能修改基本类型参数。具体看别人的文章->如何用方法交换两个变量的值、使用数组交换两个变量的值此题还可以扩展的是交换两个整数的值有许多种方法……以下import java.util.Scanner;public class Problem15 { public static void m原创 2020-05-27 21:49:18 · 510 阅读 · 0 评论 -
【学习记录】关于栈的实现、栈的几个小练习
栈的简单介绍线性表定义线性表是具有相同特性数据元素的一个有限序列,该序列中所含元素的个数叫做线性表的长度。逻辑特性只有一个表头元素、没有前驱,只有一个表尾元素,没有后继。除表头和表尾外,其他元素只有一个直接前驱,也只有一个直接后继。存储结构可以是顺序存储结构 也可以是链式存储结构。栈栈的定义栈是一种只能在一端进行插入或删除的 操作受限的 线性表 。栈的特点FILO栈的数学性质当n个元素以某种顺序进栈,并且可以在任意时刻出栈时,所获得的元素排列的数目N恰好满原创 2020-07-20 09:59:49 · 177 阅读 · 0 评论 -
【今日所学笔记】面向对象之封装、继承
1.类中成员变量访问权限代表不能修饰类访问修饰符同类中同包(子类和无关类)不同包(子类)不同包(无关类)public????️????️????️????️protected????️????️????️????️default????️????️????️????️private????️????️????️????️几个问题:在跨了包的子类里创建父类对象后,能不能通过此对象访问父类里protected成员?答:无原创 2020-06-16 01:41:47 · 131 阅读 · 0 评论 -
【NOTE】有关递归的题目——持续更新
递归核心:分而治之,减小问题规模⚠️注意:一定要有递归出口递归的弊端:重复计算(例如在不死神兔问题中)递归的很多问题也可以转化成循环来做题目求阶乘不死神兔猴子吃桃求0—7所能组成的奇数个数上楼梯问题直线分割平面问题汉诺塔问题 ----待更新一个楼梯有n (n >= 1)级,每次走1级或两级,请问从1级台阶走到第n级台阶一共有多少种走法(假设一开始站在第0级台阶上)思路:代码:public class RecursionStair { public原创 2020-06-11 23:37:21 · 157 阅读 · 0 评论 -
学习记录—— java 三个数排序
题目输入三个数,按大小顺序输出。利用指针方法啥是指针方法?指针方法的本质是按地址传值,将a,b,c存入数组中,再引用数组中的值排列大小,即利用指针的方法排序以下import java.util.Scanner;public class Problem34 { static void bubbleSort(char[] x){ int n = x.length; int flag; char temp; int i,原创 2020-06-06 23:05:19 · 337 阅读 · 0 评论 -
学习记录—— java 子串出现个数
题目计算字符串中子串出现的次数两个方法方法一:使用substring(indexStart,indexEnd)方法获取str左闭右开区间内的subStrfor循环遍历所有符合子串长度的子串,如果相同,则count++方法二:使用indexOf()方法indexOf(String str): 返回指定字符str在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。indexOf(String str, int index):返回从 index 位置开始查原创 2020-06-06 22:48:49 · 372 阅读 · 0 评论