首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 入门练习(36 - 40)

,要求考试成绩必须在0-100之间,不满足就产生一个自定义异常,控制台输出一个错误信息"分数不合法"(请输出自定义异常对象的错误信息,将错误信息设置为分数不合法) 输入描述 控制台输入的int类型整数...输出描述 若分数合法则输出该分数,否则输出错误信息分数不合法 示例1 输入: 100 输出: 100 示例2 输入: -1 输出: 分数不合法 解答 定义一个异常类,然后重写异常类输入异常信息处理的方法...请使用 HashSet 解决这一问题 输入描述 键盘输入的任意字符串 输出描述 去重后的字符串(不要求顺序,预设代码中已经给出输出) 示例1 输入: helloworld 输出: rdewhlo 解答...(c); } } } JAVA38 集合遍历 描述 请使用三种方式遍历一个 list 集合 输入描述 键盘任意输入的五个int类型变量 输出描述 使用三种不同的方法遍历集合,遍历输出时不换行...输入描述 无 输出描述 预设代码中已经指定输出 解答 对于 VIP 客人,和普通客人最大的区别就在于 VIP 客人不用排队,所以无论何时 VIP 来都可以排到队列的最前边,利用 addFirst() 方法即可实现插队到第一位

24040

【JDBC实战】 水果库存系统 功能完善+使用效果

我们可以知道,这些异常来自于从FruitDAOImpl实现类中调用的单精度方法为什么呢?...在IDEA中按住Ctrl键,单击addFruit()方法,就跳转到了其来源:FruitDAO接口 (不是使用IDEA的伙伴,还请手动点开FruitDAO接口) 但实际上,我们使用的是该接口实现类中...,使用一个Fruit类型接收; 第二步就是判断水果是否存在于数据库中,其实这一步在调用实现类方法时就已经完成了,如果不存在,Fruit类型接收到的是空值; 第三步就是输出获取到的水果信息,不存在的水果则给出相应提示即可...退出方法会返回布尔类型,类型会被客户类Client中的flag接收,以终端程序: //退出方法 public boolean exit(){ System.out.print...完成这样的优化,将会带来极大的便利,当我们需要增加功能,更多的类与方法需要被设计与实现,那么通用方法就能被重复使用,从而让代码更加简洁,减少冗余与代码重复问题,还能大幅度减少工作量。

37110
您找到你想要的搜索结果了吗?
是的
没有找到

java多态性浅析

();           N n = (N) m;         n.funN();     } }  但是以上代码如果不使用向上转型,而是直接使用子类对象进行实例化后也可以调用子类B中的特殊方法...      为什么还要向下转型呢? ...因为在某些情况下,虽然达到的效果是一样的,但是向下转型更带有一定的目的性:调用子类中的特殊方法  对于对象的转型,我们给出总结:         80%的情况下都只会使用向上转型,因为可以得到参数类型的统一...,因为对象的转型操作里面毕竟有了强制问题,容易带来安全隐患  向下转型为什么会带来安全隐患呢? ...A a = new A(),并不涉及其他类,也就是与外界隔绝了联系, 外界的事情它都不清楚,所以会发生编译错误 */         b.print();         } }  编译错误信息如下

30610

Java11新特性解读

var str = "helloworld"; System.out.println(str); 局部变量类型推断就是左边的类型直接使用var定义,而不用写具体的类型,编译器能根据右边的表达式自动推断类型...然而在使用var定义变量时,必须立刻赋值,例如下面的情况是错误的: var a; 因为在不赋值的情况下,JVM无法推断当前变量的类型。...在类中的成员变量(也叫属性)不可以使用var来定义,例如下面的情况是错误的: class Student{ var name = "小明"; var age = 20; } var的好处在lambda...,trim()方法也能够去除字符串首尾的空白,那为什么Oracle还要设计一个重复的方法呢?...所以在功能上,strip()方法更加强大。 HttpAPI 这是Java9开始引入的一个处理HTTP请求的API,该API支持同步和异步,而在Java11中已经为正式可用状态。

66810

阻塞队列 BlockingQueue

二、为什么要用阻塞队列? 有了阻塞队列,我们不需要关心何时阻塞线程,何时唤醒线程。因为这些操作阻塞队列都帮我们做了。队列为空那么取元素的线程会自动被阻塞,队列已满那么添加元素的线程会自动阻塞。...默认是非公平的,也就是说,它的方法都用Lock上了锁,我们知道lock可以通过true或者false来指定使用公平锁还是非公平锁。...当然,它也有带参构造,可以指定容量,但是不能指定使用公平还是非公平锁,默认使用的是非公平锁。 SynchronousQueue:这个队列比较特殊,只能存储一个元素。...synchronized 和 lock 的区别: 锁 原始构成 使用方法 等待是否可中断 是否公平 唤醒 synchronized 是关键字,属于JVM层面,底层通过monitor对象来完成 不需要用户手动释放锁...看看如何使用 ReentrantLock 来解决。

67410

Java 小白成长记 · 第 3 篇《运算符与控制流》

= 1 } 在 System.out.println() 语句中使用了 + 运算符。...但在 Java 中,由于 Java 不会自动的将 int转换成 boolean类型,所以在编译时就会抛出一个编译时错误,从而阻止我们进一步去运行程序。 ?...建议不要在表达式中使用++, 因为这样的代码很容易让人困惑,而且会带来烦人的 bug。 ⑤ 关系运算符 关系运算符会通过产生一个布尔(boolean)结果来表示操作数之间的关系。...= 可用于所有基本类型,但其他运算符不能用于基本类型 boolean,因为布尔值只能表示 true 或 false,所以比较它们之间的“大于”或“小于”没有意义。 关系运算符包括: == 等于 !...你必须使用所有对象(不包括基本类型)中都存在的 equals() 方法(所有的类都继承自 Object 类,equals 方法就是 Object 类提供的,后续会详细讲解),该方法用于判断两个对象是否具有相同的引用

48110

05-01总结方法,数组(一维)

**** ***** void类型返回值的方法调用: 单独调用 输出调用(错误) 赋值调用(错误) */ class FunctionDemo3 { public static void main...} System.out.println("--------------"); //如果需要继续改变,我们就应该考虑使用方法改进。...a:动态初始化 只指定长度,由系统给出初始化值 b:静态初始化 给出初始化值,由系统决定长度 动态初始化的格式: 数据类型[] 数组名 = new 数据类型[数组长度]; 举例: int[]...(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); } } (4)数组的初始化 A:动态初始化 只给长度,系统给出默认值...) D:本地方法区(系统相关) E:寄存器(CPU使用) 注意: a:局部变量 在方法定义中或者方法声明上定义的变量。

87050

小朋友学Python(3):布尔类型

a = true; boolean b = false; System.out.println("a = " + a); System.out.println...在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java...这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。 虚拟机为什么要用int来代替boolean呢?为什么不用byte或short,这样不是更节省内存空间吗。...四、Python 程序: a = True print(a) b = False print(b) print(1 > 2) 运行结果: ? 注意: python中不能显示写出数据类型,否则会报错。...比如在C/C++/Java中,你可以写int a = 10; 但是在Python中,写int a = 10会导致编译错误,只能写成a = 10

801110

Ognl 使用实例手册

实例方法调用 比如我们希望执行 print的sayHello方法,可以如下使用 Object ans = Ognl.getValue(Ognl.parseExpression("#print.sayHello...特殊传参 一般的java操作,无外乎方法调用,属性访问两种,接下来我们聚焦在方法的调用上;如果一个方法接收的参数是一些基本类型的对象,使用起来还比较简单;但是其他的场景呢?...)"), context, context.getRoot()); System.out.println("class 参数方法执行:" + ans); 上面给出了两种方式,一个是根据已有的对象获取...()); System.out.println("枚举参数方法执行:" + ans); 输出结果 enum: print enum:CONSOLE 枚举参数方法执行:null c. null传参 目标方法如下...声明 尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3.5K20

Redis分布式锁的正确实现方式(Java版)

线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。...testOnBorrow = true;//在取连接时测试连接的可用性 private static boolean testOnReturn = false;//再还连接时不测试连接的可用性...那么为什么使用Lua语言来实现呢?因为要确保上述操作是原子性的。关于非原子性会带来什么问题,可以阅读【解锁代码-错误示例2】 。...错误示例1 最常见的解锁代码就是直接使用jedis.del()方法删除锁,这种不先判断锁的拥有者而直接解锁的方式,会导致任何客户端都可以随时进行解锁,即使这把锁不是它的。...---- 总结 本文主要介绍了如何使用Java代码正确实现Redis分布式锁,对于加锁和解锁也分别给出了两个比较经典的错误示例。

1.1K10

Java正则表达式中的十大问题

何时候如果可能的话,使用预定义类将会使你的代码容易读懂,并且可以消除由畸形的字符类引入的错误详情请参阅预定义字符类 的更多细节。请注意,第一个反斜杠\的\ D。...如果你是一个字符串中使用转义构造,你必须先反斜杠用另一个反斜杠的编译字符串。这就是为什么我们需要使用\\ D。...在Windows中使用\ r表示CR(回车),在Unix系统中使用\ n表示LF(换行),在Mac OS中使用\ r\ n表示CR + LF,因此,最简单直接的方法是通过换行符来分割字符串 String...这种方法仍然是使用compile()来得到一个Pattern的实例,和一个字符串相匹配。...(prime(14)); // false System.out.println(prime(15));} public static boolean prime(int n) {

2.4K40
领券