Java
Annnnie?
如果这里是美食帖,那么不论你是做什么的,也许都有吃东西的需求
展开
-
牛客练习Java之--树根
题目描述:数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24 来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。再比如39,把3 和9 加起来得到12,由于12 不是一位数,因此还得把1 和2 加起来,最后得到3,这是一个一位数,因此3 是39 的数根。现在给你一个正整数,输出它的数根。输入描述:输入包含多组数据。每组数据数原创 2021-05-16 19:52:18 · 331 阅读 · 0 评论 -
牛客练习题--星际密码
星际密码时间限制:1秒 空间限制:32768K 代码长度限制 100 KB题目描述:星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。|1 1|^n => |Xn …||1 0| |… …|例如n=2时,|1 1|^2 => |1 1| * |1 1| => |2 1||1 0原创 2021-05-16 19:48:03 · 294 阅读 · 0 评论 -
线性表和顺序表
线性表的增删查改线性表的增删查改尾插插入指定位置删除指定位置元素遍历删除指定元素返回 index 位置的元素替换 index 位置的元素判断与元素 e 相等遍历判断与元素 e是否相等清空线性表返回线性表中已有元素的个数返回线性表是不是一个空的容器其他方法顺序表中一定要区分两个概念 容量(capacity) vs 元素个数(size);线性表的所有下标只和元素个数相关,和容量无关。线性结构*** 特点**:元素和元素之间有前后关系元素会有在第几个位置的概念,位置通过下标(index)表原创 2021-03-10 15:59:15 · 181 阅读 · 0 评论 -
时间复杂度与空间复杂度
一、时间复杂度概念:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。时间复杂度:1、衡量算法的运行速度2、通过数指令(基本指令)个数,来间接地测量运行速度3、具体的结果:关于数据规模(n)的函数关系4、为了便于估算,使用大O标识符进行化简:(1)只保留最高次项(2)最高次项的系数为1(3)O(n)/O(n^2)…5.理论上应该区分 最好/最坏/平均情况,但为了便于估原创 2021-03-10 15:30:11 · 145 阅读 · 1 评论 -
冒泡法排序
冒泡排序法public class 冒泡 { public static void main(String[] args) { int[] arr={6,5,4,7,3,8,2,9,1}; BubbleSort(arr); for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } } public static void原创 2021-03-10 15:14:39 · 79 阅读 · 0 评论 -
汉诺塔 Java
汉诺塔public class 汉诺塔 { public static void main(String[] args) { int n=5; hanno(n,"X","Y","Z"); } private static void hanno(int n, String begin, String mid, String end) { if(n==1){ System.out.println(begin+"-原创 2021-03-10 15:13:56 · 78 阅读 · 0 评论 -
求两个数的最大值及最大值方法的重载
创建方法求两个数的最大值创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。 要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算public class Test { public static void main(String[] args) { int a=4; int b=3; int c=6; System.out.println(max2(a, b)); S原创 2021-03-10 15:12:56 · 2152 阅读 · 0 评论 -
调整数组顺序使得奇数位于偶数之前
找出数字所在位置下表public class 作业1 { public static void main(String[] args) { int[] arr = {1,2,3,10,5,6}; System.out.println(find(arr, 10)); } public static int find(int[] arr, int toFind) { for (int i = 0; i < arr.length; i原创 2021-03-10 15:11:58 · 69 阅读 · 0 评论 -
求斐波那契额数列第n项(递归与循环)
求斐波那契额数列第n项(递归法)public class Test { public static void main(String[] args) { System.out.println(fib(7)); } public static int fib(int n){ if(n<=0){ return 0; } if(n==1){ return 1;原创 2021-03-10 15:10:29 · 140 阅读 · 0 评论 -
找出只出现一次的数字
有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字。public class Test { public static void main(String[] args) { int[]arr={2,2,3,5,6,7,6,4,4,6,7}; int count; for(int i=0;i<arr.length;i++){ count=0; for(int j=0;j<arr.l原创 2021-03-10 15:10:00 · 70 阅读 · 0 评论 -
求阶乘并求阶乘的和
求阶乘public static int jiecheng(int m) { int q=1; for(int i=1;i<=m;i++){ q*=i; } return q; }求阶乘的和(求1!+2!+3!+4!+…+n!的和)public class Test { public static void main(String[] args) { System.out.p原创 2021-03-10 15:09:16 · 559 阅读 · 1 评论 -
Java中语句的执行与JVM
编程语言的核心:如何组织语句——更好的使“程序员”便于书写+理解Java对语句做强约束了,Java 中的语句只能出现在:1.方法体中/静态方法体中2构造方法体中3.构造代码块中/静态代码块中4.做为初始化语句,可以跟在属性的定义后凡是有语句,就有执行动作。——这些语句是在什么时候执行到1.类的加载时执行(静态属性初始化OR静态代码块)2.实例化对象时执行(属性初始化OR构造代码块OR构造方法中)3.方法/静态方法中的语句,会在该方法被调用时执行1JVM内存区域划分:1.用来放置对象的区域原创 2021-03-05 19:37:11 · 270 阅读 · 3 评论 -
Java中类的定义、方法与覆写规则
静态方法修饰符static返回值类型方法名称(形参列表){ … }访问限定符final?语法上可以,但没有任何意义。静态方法就不属于继承的范畴,本来就不能被重写静态方法中肯定没有抽象方法和对象解绑:调用静态方法时,不需要传入指向当前对象的this静态方法内部没有this不能使用普通属性/调用普通的方法不加static,就统统和该类的对象有关1.属性⒉.方法3.构造方法4.构造代码块属性:修饰符(不能有static)数据类型变量名「=初始化语句];属性是保存在对象中的。每有一个对象,就原创 2021-03-05 19:35:48 · 335 阅读 · 3 评论 -
Java方法的实现contains、indexOf、sum、replace、compareTo
Java方法的实现练习一、实现方法 contains, 能够判定字符串中是否包含子串二、实现方法 indexOf, 能够找出字符串子串存在的位置三、java实现一个方法 sum, 以数组为参数, 求数组所有元素之和四、实现方法 replace, 能够替换字符串中的某个部分五、实现方法 compareTo, 能够实现按照字典序比较字符串大小一、实现方法 contains, 能够判定字符串中是否包含子串public class Test5 { public static void main(原创 2021-03-02 17:25:31 · 481 阅读 · 0 评论 -
Java中的接口
接口(interface)一、语法二、接口(interface)一、语法1.接口的定义interface名称{ ...}2.接口中的方法1.不要写访问限定符——都是public2.不要写abstract3.需要写方法体void method();3.可以理解成:接口中不允许定义属性和静态属性和静态方法。4.类声明实现接口class类名implements接口名就把接口当成抽象类去理解即可实现类,必须做到1.要不把所有的接口中接口定义的方法都实现一不能再有抽象方法 了2.要原创 2021-02-03 18:13:18 · 321 阅读 · 2 评论 -
Java中的抽象类和方法、类和接口、abstract关键字的作用
一、抽象方法与抽象类抽象方法只能出现在抽象类。抽象类不一定有抽象方法。二、抽象类和普通类的区别抽象类vs普通类的区别: 是否可以实例化对象四、abstract关键字的作用abstract在Java 中的2个作用:1.修饰类的定义,类变成抽象类。该类无法被直接实例化2.修饰方法的定义,(1)要求类必须是抽象类(2)该方法只需签名,无需方法体(只说明目的,没有怎么做)四、类和接口...原创 2021-02-03 11:52:25 · 155 阅读 · 0 评论 -
Java中final关键字的作用
final关键字的三个作用:整体的意思都是表达“最终”的含义1、修饰变量的定义(属性/静态属性/形参变量/局部变量)该变量只允许有一次赋值机会。2、修饰类的定义这个类不能被继承,这个类不能有子类。3、修饰类中的普通方法这个类子类中,不能重复被final修饰的方法/final 关键字:曾经我们学习过 final 关键字, 修饰一个变量或者字段的时候, 表示 常量 (不能修改).final int a = 10;a = 20; // 编译出错final 关键字也能修饰类, 此时表示被原创 2021-02-03 11:00:01 · 250 阅读 · 1 评论 -
二维数组的二分查找
import java.util.Arrays;public class Test { public static void main(String[] args) { long[][] array = { {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15} }; int rows = 3;.原创 2021-01-28 16:08:25 · 206 阅读 · 5 评论 -
面向对象的方法解决二分查找问题 Java代码
class Range { // 属性,区间的上限下标 + 区间的下限下标 // 这里选用左闭右闭 private final long[] array; private int lowIndex; private int highIndex; // 区间 array[lowIndex, highIndex] public Range(long[] array) { this.array = array; this.l原创 2021-01-27 23:16:51 · 213 阅读 · 2 评论 -
Java中关键字this的作用
this的作用:this是指向调用该方法的当前对象,因此,使用 this访问对象中的属性,或者可以通过this调用其他的方法。this可以用在构造方法中调用其他方法,可以在几个构造方法中互相调用。原创 2021-01-27 21:16:53 · 93 阅读 · 0 评论 -
计算两个日期差多少天?Java
计算方法:public class MyDate { public int year; public int month; public int day; public MyDate(int year, int month, int day) { if (year < 1900 || year > 3000) { // 完全就是一个实例化对象的代码 RuntimeException excepti原创 2021-01-27 11:58:47 · 312 阅读 · 2 评论 -
判断素数与打印素数 Java程序
打印 1 - 100 之间所有的素数给定一个数字,判定一个数字是否是素数import java.util.Scanner;public class 作业3_3 {//打印素数 public static void main(String[] args) { //1、给定一个数字,判定一个数字是否是素数。 Scanner sca=new Scanner(System.in); int n1=sca.nextInt();原创 2021-01-22 23:29:49 · 214 阅读 · 0 评论 -
按年龄段打印年龄代码Java
根据输入的年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)import java.util.Scanner;public class 作业3_1 {//少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上) public static void main(String[] args) { Scanner sca=new Scanner(System.in); int age=原创 2021-01-22 23:22:30 · 512 阅读 · 1 评论 -
猜数字代码Java
import java.util.Random;import java.util.Scanner;public class GuessNumber { public static void main(String[] args) { int level = selectLevel(); int range = getRandomRange(level); int random = generateRandom(range); in原创 2020-12-29 21:33:09 · 250 阅读 · 2 评论 -
猜数字游戏Java代码
难度0:0~10,可以猜10次难度1:0~100,可以猜7次难度2:0~1000,可以猜5次也可自行设计import java.util.Random;import java.util.Scanner;public class 猜数字 { public static void main(String[] args) { Random rnd=new Random(); int r=rnd.nextInt(100); int count=0原创 2020-12-26 16:57:53 · 300 阅读 · 1 评论 -
按照输出样例的格式输出该学生的信息
学生信息管理系统是学校教学管理的重要工具,现有一名学生基本信息如下:姓名-Jack,年龄-18,性别-Man,请按照输出样例的格式输出该学生的信息。输入描述:无输出描述:输出分为三行,分别为标题行,分隔行,信息行。第一行,标题行,每个标题之间间隔4个空格。第二行,分隔行,一共21个减号"-"。第三行,信息行,每列输出信息和标题首字母对齐。输出样例如下:Name Age Gender---------------------**Jack 18 manimport原创 2020-12-26 16:50:22 · 634 阅读 · 1 评论 -
把秒转化成几小时几分钟和几秒java
给定秒数seconds (0< seconds < 100,000,000),把秒转化成小时、分钟和秒。输入描述:一行,包括一个整数,即给定的秒数。输出描述:一行,包含三个整数,依次为输入整数对应的小时数、分钟数和秒数(可能为零),中间用一个空格隔开。示例:输入3661输出1 1 1import java.util.Scanner;public class Main { public static void main(String[] args) {原创 2020-12-26 16:47:23 · 1873 阅读 · 1 评论