具有给定长度的Java随机数

我需要在Java中使用正好6位数来生成一个随机数。 我知道我可以在一个随机数上循环6次但是在标准的Java SE中有没有其他方法可以做到这一点? 编辑 – 跟进问题: 现在,我可以生成我的6位数,我遇到了一个新问题,我正在尝试创建的整个ID是语法123456-A1B45。 那么我如何随机化最后5个可以是AZ或0-9的字符呢? 我正在考虑使用char值和randomice 48-90之间的数字,并简单地删除任何得到代表58-64的数字的值。 这是要走的路还是有更好的解决方案? 编辑2: 这是我的最终解决方案。 感谢所有帮助人员! protected String createRandomRegistryId(String handleId) { // syntax we would like to generate is DIA123456-A1B34 String val = “DI”; // char (1), random AZ int ranChar = 65 + (new Random()).nextInt(90-65); char ch = (char)ranChar; val += ch; // numbers (6), random […]

如何在java中将文件读入字符串?

我已经将文件读入String。 该文件包含各种名称,每行一个名称。 现在问题是我想在String数组中使用这些名称。 为此我写了以下代码: String [] names = fileString.split(“\n”); // fileString is the string representation of the file 但是我没有得到所需的结果,并且在分割字符串后获得的数组长度为1.这意味着“fileString”没有“\ n”字符,但文件中有“\ n”字符。 那么如何解决这个问题呢?

Spring Boot 2中缺少TomcatEmbeddedServletContainerFactory

我有Spring Boot应用程序版本1.5.x,它使用org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory ,我正在尝试将其迁移到Spring Boot 2,但该应用程序无法编译,尽管它有一个依赖项to org.springframework.boot:spring-boot-starter-tomcat 。 编译器发出以下错误: error: package org.springframework.boot.context.embedded.tomcat

Java无法为对象堆错误保留足够的空间

我在32位Windows和4 GB RAM上运行Java7,但是: java -Xmx4G -Xms4G -jar Minecraft.jar java -Xmx3G -Xms3G -jar Minecraft.jar java -Xmx2G -Xms2G -jar Minecraft.jar ……仍然无效。 错误: VM初始化期间发生错误 无法为对象堆保留足够的空间 错误:无法创建Java虚拟机。 错误:发生了致命exception。 程序将会退出。 java -Xmx1G -Xms1G -jar Minecraft.jar正在运行。 为什么?

错过了在Java 8中修复JDBC日期处理的机会?

任何Java 8 + JDBC专家都能告诉我以下推理是否有问题吗? 而且,如果在众神的秘密中,为什么没有这样做呢? java.sql.Date当前是JDBC用于映射到DATE SQL类型的类型,它表示没有时间且没有时区的日期。 但是这个类设计得非常好,因为它实际上是java.util.Date的子类,它可以存储精确的瞬间,最长可达毫秒。 为了在数据库中表示日期2015-09-13,我们因此被迫选择一个时区,在该时区中将字符串“2015-09-13T00:00:00.000”解析为java.util.Date以获得毫秒value,然后从这个毫秒值构造一个java.sql.Date ,最后在预准备语句上调用setDate() ,传递一个包含所选时区的Calendar,以便JDBC驱动程序能够正确地重新计算日期2015-09 -13来自这个毫秒值。 通过在任何地方使用默认时区,而不是传递日历,可以使此过程更简单一些。 Java 8引入了一个LocalDate类,它更适合DATE数据库类型,因为它不是精确的时刻,因此不依赖于时区。 Java 8还引入了默认方法,这些方法允许对PreparedStatement和ResultSet接口进行向后兼容的更改。 那么,我们还没有错过一个清理JDBC中的混乱而仍然保持向后兼容性的巨大机会吗? Java 8可以简单地将这些默认方法添加到PreparedStatement和ResultSet: default public void setLocalDate(int parameterIndex, LocalDate localDate) { if (localDate == null) { setDate(parameterIndex, null); } else { ZoneId utc = ZoneId.of(“UTC”); java.util.Date utilDate = java.util.Date.from(localDate.atStartOfDay(utc).toInstant()); Date sqlDate = new Date(utilDate.getTime()); setDate(parameterIndex, sqlDate, Calendar.getInstance(TimeZone.getTimeZone(utc))); } […]

如何使用包名运行java类

我有两个java类如下: 1。 none package class System.out.println(“App1 hello world…”); 2。 has package package java.java.package1; System.out.println(“App1 hello world…”); 然后,我编译并运行它们,结果如下: D:\javaTest>javac App1.java D:\javaTest>javac App2.java D:\javaTest>java App1 App1 hello world… D:\javaTest>java java.java.package1.App2 Exception in thread “main” java.lang.NoClassDefFoundError: java/java/package1/Ap p2 Caused by: java.lang.ClassNotFoundException: java.java.package1.App2 at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at […]

使用Java Spring连接到MongoDB 3.0

我在使用Spring访问带有凭据的MongoDB时遇到了问题。 虽然没有凭据,它就像一个魅力,使用它们只是失败说 Failed to authenticate to database [yourdatabase], username = [yourusername], password = [x******z] 必须是因为新的auth默认值,您可以在http://docs.mongodb.org/manual/core/authentication/中阅读 在3.0版中更改:SCRAM-SHA-1是从3.0系列开始的MongoDB版本的默认机制。 问:有人发现了一种使用Spring凭证的方法吗? 您使用哪个版本的spring-data-mongodb来制作技巧?

局部变量的Java内存(Stack)分配

我正在学习java,现在我陷入了对象和局部变量的内存分配。 任何人都可以说明或澄清我的一些疑惑吗? 我读到了对象的实例变量和局部变量的堆和堆栈内存。 我有问题,天气为每种方法创建一个新的STACK? 或者对于整个类使用单个堆栈的每个类? 我读过每个线程正在创建ONE STACK是什么意思 谢谢Mahaveer

Java命令行参数中的空格

在我的Java命令行参数中,空格后的任何字符都会被忽略。 例如, java test.AskGetCampaignByName “Dummy books” 我得到第一个参数(args [0])仅为“Dummy”。 单引号也没有帮助。 有没有人知道任何解决方法/修复此问题? 可能是因为我的终端设置? 我的$ TERM是xterm,$ LANG是“en_IN”。

如何使用Java将自定义数据写入TCP包头选项字段?

正如它所定义的那样(参见: http : //www.freesoft.org/CIE/Course/Section4/8.htm ),TCP标题有一个“选项”字段。 已经定义了几个选项(参见:www.iana.org/assignments/tcp-parameters/),但我想提出我自己的选项。 (用于实验/研究。) 如何让Java将一些自定义数据写入(然后读取)到选项字段? 奖金问题:如果用Java无法完成。 什么样的应用程序可以做到这一点? (不,我真的不想搞乱一些内核级TCP / IP堆栈实现,我想保持它的应用程序级别。) 谢谢!