javagenerics类型参数和对这些类型的操作

在寻找我最近遇到的有趣情况的答案时,我遇到了以下问题: 类型安全,Javagenerics和查询 我写了下面的课(清理了一下) public abstract class BaseDaoImpl extends HibernateDaoSupport implements BaseDao { /** * Finds and Returns a list of persistent objects by a collection of criterions * @param criterions * @return list of persistent objects * @throws DBException */ @SuppressWarnings(“unchecked”) protected List findByCriteria(Collection criterions) throws DBException { try { DetachedCriteria criteria = DetachedCriteria.forClass(T.class); // […]

Java String split()的意外行为

我试图使用String split函数拆分字符串,这是一个例子: String[] list = ” Hello “.split(“\\s+”); System.out.println(“String length: ” + list.length); for (String s : list) { System.out.println(“—-“); System.out.println(s); } 这是输出: String length: 2 —- —- Hello 如您所见,前导空格在String数组中变为空元素,但尾随空格不是。 有谁知道为什么?

找到Factorial Trailing Zero时的结果不一致

这是我编写的两个版本的代码,用于返回n!中的尾随零的数量。 对于输入1808548329 ,第一个版本返回452137080对于输入1808548329 ,第二个版本返回1808548329 。 想知道为什么会有区别? 第二版的输出是正确的。 Java中的源代码 , public class TrailingZero { public static int trailingZeroes(int n) { int result = 0; int base = 5; while (n/base > 0) { result += n/base; base *= 5; } return result; } public static int trailingZeroesV2(int n) { return n == 0 ? 0 : […]

将ZipEntry复制到新ZipFile的惯用方法是什么?

我正在编写一个工具来在DOCX文件中进行一些小文本替换,这是一种压缩格式。 我的方法是使用ZipOutputStream将ZipEntry内容从原始文件中的条目复制到修改后的文件中。 对于大多数DOCX文件,这种方法很有效,但偶尔我会遇到ZipException有关我写的内容与ZipEntry包含的元信息之间的差异(通常是压缩大小的差异)。 这是我用来复制内容的代码。 为简洁起见,我删除了error handling和文档处理; 到目前为止,我还没有遇到过文档条目的问题。 ZipFile original = new ZipFile(INPUT_FILENAME); ZipOutputStream outputStream = new ZipOutputStream(new FileOutputStream(OUTPUT_FILE)); Enumeration entries = original.entries(); byte[] buffer = new byte[512]; while (entries.hasMoreElements()) { ZipEntry entry = (ZipEntry)entries.nextElement(); if (“word/document.xml”.equalsIgnoreCase(entry.getName())) { //perform special processing } else{ outputStream.putNextEntry(entry); InputStream in = original.getInputStream(entry); while (0 < in.available()){ int read = in.read(buffer); […]

如何配置javaFx的进度条和进度指示器?

我试图在我的页面上添加滑块,如进度条。 但我的代码效果不佳。 我的任务是当我要将某个地方的东西复制到另一个地方时,我想在我的页面上显示一个进度条。 所以在javaFx中我编写了以下任务,但它运行不正常。 该代码运行,但我想以百分比显示工作,如30%,50%和“完成”。 但我的代码没有给我这样的要求所以请帮助我。 我的代码是: 1.进度条和进度指示器的声明 @FXML final ProgressBar progressBar = new ProgressBar(); @FXML final ProgressIndicator progressIndicator = new ProgressIndicator(); 2.单击复制按钮时分配值。 @FXML private void handleOnClickButtonAction(MouseEvent event) { if (fromLabel.getText().isEmpty() || toLabel.getText().isEmpty() || fromLabel.getText().equalsIgnoreCase(“No Directory Selected”) || toLabel.getText().equalsIgnoreCase(“No Directory Selected”)) { // Nothing } else { progressBar.setProgress(0.1f); progressIndicator.setProgress(progressBar.getProgress()); this.directoryCount.setText(“Please Wait !!!”); } } 这段代码显示我只有10%完成然后直接显示“完成”,但我希望整个过程的百分比如10,20,30,…等然后“完成”。 […]

get和set方法有什么意义

在我的CS课程中,我只是学习课程和OOP。 因此,当您创建一个类时,您会初始化一定数量的私有变量。 我知道你把它们变成私有的,因为如果它们是公开的,它们很容易改变,并且可能导致很多错误。 所以我们使用get和set方法来改变变量。 但这又一次使变量很容易改变吗? 那么最初是将它们变为私有的呢?

如何使用Jericho HTML Parser解析XML

我是java和servlet的新手,目前正在尝试使用Jericho XML Parser解析XML。 例如,我想从每个链接标签获取链接,但它不显示任何内容,总数显示为27(只能获得没有字符串的正确总数)。 任何知道如何做的人,请教我。 import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.net.MalformedURLException; import java.net.URL; import java.util.*; import net.htmlparser.jericho.Element; import net.htmlparser.jericho.Source; @WebServlet(urlPatterns = { “/HelloServlet”}) public class HelloServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, […]

.Jar文件在netbeans中运行,但在外部打开时不运行

我看过: 为什么我的jar文件不能在netbeans之外运行? 并相信我遇到了同样的问题。 该程序在netbeans中运行良好,但在外部运行时不会出现。 如果我进入我的任务管理器,我可以看到该程序正在运行。 我将我的程序设置为java web start应用程序,但之后我又改回了.jar,因为没有足够大的空间来托管它。 我相信这可能是问题的根本原因。 那,当我重新分配我的资源以包含在jar文件中时。 当我看代码输出时似乎没有错。 我也调试了它,没有错。 有帮助吗? 如果您希望我在命令提示符下运行,请问您该怎么做? 谢谢, 通过webstart运行它进入validation文件阶段,然后提示:注意:“\ Users \ Camtronius \ Documents \ NetBeansProjects \ SonomaRoller \ dist”我非常确定从我的JNLP文件中获取启动webstart的路径。 java.lang.NumberFormatException: For input string: “\Users\Camtronius\Documents\NetBeansProjects\SonomaRoller\dist” at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at com.sun.deploy.security.DeployManifestChecker.verifyCodebase(Unknown Source) at com.sun.deploy.security.DeployManifestChecker.verify(Unknown Source) at com.sun.deploy.security.DeployManifestChecker.verify(Unknown Source) at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(Unknown Source) at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown […]

是否可以在JFrame上绘制图像或文本?

是否可以在不添加JPanel情况下在JFrame上绘图? 我重写paintComponents()但它没有显示任何内容。 @Override public void paintComponents(Graphics g) { super.paintComponents(g); g.drawString(“for test”, 10, 10); }

谷歌Foobar:把枪带到警卫队

我的情况 我现在已经开始和关闭这个挑战大约9天了,而且我没有想法。 到目前为止,我的解决方案通过了9/10的测试用例。 我的优化解决方案运行得足够快,因此错误是实际的解决方案,而不是计算时间不足。 如果有人能告诉我我缺少什么,或者我的算法实际上没有解决问题,我将不胜感激。 此外,我意识到我的一些代码并不完美 – 我计划在我有一个可行的解决方案之后解决所有问题。 问题 呃 – 哦 – 你已被一名指挥官Lambdas精英守卫逼入绝境! 幸运的是,当你穿过火车站时,你从一个废弃的护柱上抓起了一把光束武器,所以你有机会战胜你的出路。 但是光束武器对你和精英守卫都有潜在的危险:它的光束会reflection到墙壁上,这意味着你必须非常小心地射击,以避免向自己弹射! 幸运的是,光束在变得太弱而不会造成损坏之前只能行进一定的最大距离。 你也知道如果一个光束撞到一个角落,它将以完全相同的方向反弹。 当然,如果光束击中你或守卫,它会立即停止(虽然很痛苦)。 写一个函数答案(尺寸,your_position,guard_position,distance),它给出了房间宽度和高度的2个整数数组,房间中x和y坐标的2个整数数组,2个整数的数组考虑到光束可以传播的最大距离,守卫在房间内的x和y坐标,并返回可以射击以击中精英守卫的不同方向的数量的整数。 房间有整数尺寸[1 <x_dim <= 1000,1 <y_dim <= 1000]。 您和精英守卫都位于房间内不同的不同位置(x,y)的整数格上,使得[0 <x <x_dim,0 <y <y_dim]。 最后,光束在变为无害之前可以行进的最大距离将以1 <距离<= 10000的整数给出。 例如,如果你和精英守卫被放置在一个尺寸为[3,2],你有_1 [1,1],guard_position [2,1]和最大射击距离为4的房间里,你可以用七种不同的方式射击击中精英守卫的方向(从您的位置给出矢量方位):[1,0],[1,2],[1,-2],[3,2],[3,-2],[ – 3,2]和[-3,-2]。 作为具体的例子,轴承[1,0]的镜头是距离为1的直线水平镜头,轴承[-3,-2]的镜头在击中精英后卫之前从左墙和底壁反弹。总射门距离为sqrt(13),并且在击中精英后卫之前,轴承[1,2]的射击仅在顶壁反弹,总射击距离为sqrt(5)。 我未完成的解决方案(Java) public class Answer { public static int answer(int[] dimensions, int[] captain_position, int[] badguy_position, […]