Java:如何检查给定时间是否介于两次之间?

我想检查目标时间是否在两个给定时间之间,而不考虑使用Java8时间的日期。 假设开始时间是“21:30” ,结束时间是“06:30” ,目标时间是“03:00” ,所以程序应该返回true。 @Test public void posteNuit() { DateTimeFormatter format = DateTimeFormatter.ofPattern(“HH:mm”); String s = “21:30”; String e = “06:30”; String t = “03:00”; LocalTime startTime = LocalTime.parse(s, format); LocalTime endTime = LocalTime.parse(e, format); LocalTime targetTime = LocalTime.parse(t, format); if ( targetTime.isBefore(endTime) && targetTime.isAfter(startTime) ) { System.out.println(“Yes! night shift.”); } else { System.out.println(“Not! […]

javafx转换的当前圆圈位置

我试着找出转变中的下降圈当前的位置。 我需要什么呢? 每秒设定一个计时器。 圆的位置? 或任何建议如何获得真实的头寸价值。 此代码显示了我的hitOuterCirlce方法的一部分,甚至是相同的getCenterX – 圆的值: // (xu)*(xu) + (yv) )*(yv) < (r * r) // outer circle: double u = 2 * (3.141 * circle.getRadius()); double res1 = (circle.getCenterX() – u) * (circle.getCenterX() – u); double v = (1.333 * 3.141) * (circle.getRadius() * circle.getRadius()) * circle.getRadius(); double res2 = (circle.getCenterY() – […]

Keycloak注销不会结束会话

我在使用Spring Framework的Java应用程序中使用Keycloak 3.4,使用Keycloak Jetty-81-Adapter 3.4在Jetty 8.1中使用。 根据Keycloak文档,我应该能够在Java EE应用程序中使用HttpServletRequest从Keycloak注销。 但是,即使Jetty支持HttpServletRequests,这在我的情况下也不起作用。 您可以通过多种方式注销Web应用程序。 对于Java EE servlet容器,可以调用HttpServletRequest.logout().. 如果我尝试以这种方式注销,我会被重定向到keycloak(登录屏幕,可以选择多个域登录)。 但是当我选择我喜欢的领域时,我会立即再次登录到webapplication,而无需提供任何凭据。 我尝试了替代方法,重定向到Keycloak: 对于其他浏览器应用程序,您可以将浏览器重定向到 http:// auth-server / auth / realms / {realm-name} / protocol / openid-connect / logout?redirect_uri = encodedRedirectUri 但是它会在Keycloak日志中抛出连接拒绝错误,因为Keycloak试图直接调用我的webapp。 它对保持活动状态的Keycloak会话没有影响。 我强烈建议不要直接从Keycloak到webapp进行必要的服务器端调用。 为什么HttpServletRequest.logout()在我的情况下不破坏keycloak会话的任何建议? HttpServletRequest的Jetty实现是否与Java EE实现完全不同,它根本无法工作?

通过ssh发送命令并读取输出结果

我有代码通过ssh连接到远程服务器并向其发送2个或更多命令(例如: cd /export/home/ops/bin和“./viewlinkload -time 20131205-19”)但我看不到命令已执行但未收到结果。 我需要从服务器返回结果并显示它。 这是代码发送命令: try { command = “cd /export/home/ops/bin”; command1=”./viewlinkload –time 20131205-19″; session.startShell(); session.getOutputStream().write(command.getBytes()); ChannelInputStream in = session.getInputStream(); ChannelOutputStream out = session.getOutputStream(); InputStream inputStream = session.getInputStream(); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream)); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { stringBuilder.append(line); stringBuilder.append(‘\n’); } System.out.println(“ke […]

每个Spring Security会话使用具有专用数据源连接的Hibernate会话

是否可以在运行时更改Hibernate Session的数据库身份validation(或创建新的Hibernate Session ),并将其链接到当前登录的Web用户? 例如,当特定的Spring Security管理用户登录时,使用不同的数据库角色重新连接它,并在该会话的http会话的整个生命周期内使用该连接?

如何在java中获得除法结果的完整分数值?

我是Java的新手,我正在使用DrJava IDE进行测试。 我有以下分区49700/40000,它显示1.0而不是1.2425。 double t = 49700/40000; System.out.println(t); 这是我做错了吗?

摆动动态(自动)贴合布局

考虑100(动态) JLabel对象,我想在可resize的JPanel显示它们。 目前我使用网格包布局(2列和50行),但是当用户resize并展开表单时,我希望(例如)4列25行,小表格(1列和100行)相同,以其他方式填满整个面板(没有任何空白区域)。 我知道这应该手动完成,目前我重绘(重绘)所有成员一旦用户调整表单,但我只是想知道是否有任何准备好的解决方案这样做。 提前致谢。

文本比较算法或程序?

我有两个段落有句子,我想比较两个段落,并希望在UI上显示差异。 以下是我可以考虑的可能用例。 任何算法或代码方面的帮助都会很明显。 案例1:从str2删除了Word String str1 = “Hello I am new How are you”; String str2 = “How are you Hello”; output : str1 = “Hello I am new How are you”; str2 = “How are you Hello” 案例2:Word添加到str2 String str1 = “Hello How are you what about you”; String str2 = “How are you […]

如何更改android中每个pdf页面的标题

我在android应用程序中使用itext创建了pdf页面,需要为pdf页面添加页眉和页脚,并且需要在每个页面中更改标题。 我喜欢添加页眉和页脚 公共类HeaderAddFooter扩展PdfPageEventHelper { private Phrase footer; private Phrase header; private String patientName; private String patientID; Font headerFont = new Font(FontFamily.TIMES_ROMAN, 12, Font.NORMAL); Font footerFont = new Font(FontFamily.TIMES_ROMAN, 12, Font.NORMAL); Font TitleFont = new Font(FontFamily.COURIER, 14, Font.NORMAL); /* * constructor */ public HeaderAddFooter(String name,String id) { super(); header = new Phrase(“***** Header *****”); footer = […]

在CSV解析时跳过空行

我目前正在从URL中提取CSV文件并修改其条目。 我目前正在使用StreamReader读取CSV的每一行并将其拆分为一个数组,我可以根据其位置修改每个条目。 CSV是从电子表单提供程序生成的,其中特定表单条目是多行字段,用户可以在其中添加多个备注。 但是,当用户输入新笔记时,他们会通过换行符分隔每个笔记。 CSV示例: “FName”,”LName”,”Email”,”Note 1: some text Note 2: some text” 由于我的代码逐行拆分每个CSV条目,一旦它到达这些条目,它就会认为它是一个新的CSV条目。 这导致我的代码修改条目不起作用,因为元素位置变得不正确。 (带有空行或单行注释字段的CSV条目工作正常) 关于采取最佳方法的任何想法? 我已经尝试添加代码来替换回车或跳过空行但它似乎没有帮助。