从当天的周数获得Joda Time的日期名称

我有一周中的一天数字:2(如果星期一开始一周,则应与星期二相匹配)。 从这个数字是否可以使用Joda Time获取Java中的当天名称? 在javascript中使用moment.js很容易做到: moment().day(my number)

使用分隔符将Java字符串拆分为两个字符串

我有一个字符串,其值为name:score 。 我想将字符串拆分为两个字符串,字符串a的值为name ,字符串b的值为score 。 执行此操作的正确函数/语法是什么? 我查看了string.split ,但找不到实际的语法将数据返回到两个单独的字符串中。

如何编译具有jar依赖项的java文件?

我有一个帮助库,我写的是坐在Apache Commons之上,当我尝试javac它(这样我就可以把它变成一个jar子里)它很合理地抱怨它不知道我在说什么当我参考commons.jar中的内容时。 如何包含一个jar,以便javac可以编译?

字典最小排列使得所有相邻字母都是不同的

这是一个额外的学校任务,我们还没有接受任何教学,我不是在寻找完整的代码,但是一些提示将会非常酷。 我回到家时会发布到目前为止我用Java做的事情,但这里已经有了我已经做过的事情。 因此,我们必须进行排序算法,例如将“AAABBB”排序到ABABAB。 最大输入大小为10 ^ 6,所有这些都必须在1秒内完成。 如果有多个答案,则按字母顺序排列的第一个答案是正确答案。 我开始测试不同的算法,甚至在没有字母顺序要求的情况下对它们进行排序,只是为了看看事情是如何运作的。 第一版: 将ascii代码保存到Integer数组中,其中index是ascii代码,值是char数组中该字符出现的数量。 然后我选择了2个最高的数字,并开始将它们互相垃圾邮件发送到新的字符数组,直到某个数字更高,然后我换了它。 它运作良好,但当然订单不对。 第二版: 遵循相同的想法,但停止选择最常出现的数字,并按照它们在我的数组中的顺序选择索引。 运作良好,直到输入像CBAYYY。 算法将其分类为ABCYYY而不是AYBYCY。 当然,我可以尝试为那些Y找到一些免费的位置,但在那时它开始花费太长时间。

如何计算单词之间空格为空格的字符串中的确切单词数?

编写一个名为wordCount的方法,该方法接受String作为其参数,并返回String中的单词数。 单词是一个或多个非空格字符的序列(除”之外的任何字符)。 例如,调用wordCount(“hello”)应返回1,调用wordCount(“你好吗?”)应返回3,调用wordCount(“此字符串有宽空格”)应返回5,并调用wordCount (“”)应该返回0。 我做了一个function: public static int wordCount(String s){ int counter = 0; for(int i=0; i<=s.length()-1; i++) { if(Character.isLetter(s.charAt(i))){ counter++; for(i<=s.length()-1; i++){ if(s.charAt(i)==' '){ counter++; } } } } return counter; } 但我知道这有一个限制,它也将计算字符串中的所有单词完成后的空格数nad它还将计算2个空格,因为可能是2个单词:(是否有预定义的字数计数?或者这段代码可以纠正吗?

从简单的java类获取HttpSession | Request而不是servlet类

我希望会话对象不在servlet类中,而是普通的应用程序。 WEB.XML com.abc.web.ApplicationManager com.abc.web.SessionManager ViewPrices.java public class ViewPrices implements Cloneable, Serializable { Session session = request.getSession(); servletContext.getSession() anyWay.getSession(); }

Java如何分配指向对象而不是复制?

在课堂上,我有: private Foo bar; public Constructor(Foo bar) { this.bar = bar; } 而不是从参数中提供的对象创建条的副本,是否可以在构造函数中包含指向bar的指针,以便更改原始条更改此对象中的字段? 另一种方式: int x = 7; int y = x; x = 9; System.out.print(y); //Prints 7. 可以将其设置为打印y打印9而不是7?

为什么Files.list()并行流的执行速度比使用Collection.parallelStream()慢得多?

以下代码片段是获取目录列表的方法的一部分,在每个文件上调用extract方法并将生成的药物对象序列化为xml。 try(Stream paths = Files.list(infoDir)) { paths .parallel() .map(this::extract) .forEachOrdered(drug -> { try { marshaller.write(drug); } catch (JAXBException ex) { ex.printStackTrace(); } }); } 这是完全相同的完全相同的代码,但使用普通的.list()调用来获取目录列表并在结果列表中调用.parallelStream() 。 Arrays.asList(infoDir.toFile().list()) .parallelStream() .map(f -> infoDir.resolve(f)) .map(this::extract) .forEachOrdered(drug -> { try { marshaller.write(drug); } catch (JAXBException ex) { ex.printStackTrace(); } }); 我的机器是四核MacBook Pro,Java v 1.8.0_60(内置1.8.0_60-b27)。 我正在处理~7000个文件。 平均3次运行: 第一个版本:使用.parallel() :20秒。 没有.parallel() […]

JFreeChart – 如何在TimeSeries图表的X轴上显示实时

我想在TimeSeries图表上显示实时数据, 实时显示在x轴上 (或者至少具有与实时相同的时间速度)。 这是一个问题的SSCCE,随机数作为实时输入。 x轴上显示的时间比实时快得多(假设它以hh:mm:ss格式显示): public class DynamicTimeSeriesChart extends JPanel { private DynamicTimeSeriesCollection dataset; private JFreeChart chart = null; public DynamicTimeSeriesChart(final String title) { dataset = new DynamicTimeSeriesCollection(1, 2000, new Second()); dataset.setTimeBase(new Second(0, 0, 0, 1, 1, 1990)); // date 1st jan 0 mins 0 secs dataset.addSeries(new float[1], 0, title); chart = ChartFactory.createTimeSeriesChart( title, “Time”, […]

C ++ ifstream.getline()明显慢于Java的BufferedReader.readLine()?

我正在重写我的一个Android应用程序以利用NDK,每次打开一个1.5MB的文本文件(大约150k行)时,首先要做的事情之一就是把每一行放在一个数据中结构体。 当我使用Java的BufferedReader.readLine()执行此操作时,从SD卡读取文件大约需要2.5秒。 这是我用于此的代码: try { BufferedReader br = new BufferedReader(new FileReader(“/sdcard/testfile.txt”)); String thisLine; while ((thisLine = br.readLine()) != null) { Log.d(TAG, thisLine); } } catch (IOException e) { //Log error } 在ifstream中使用C ++需要更长的时间……对于同一个文件大约需要3分钟。 这是我在C ++中使用的代码: char buffer[256]; ifstream ifs; ifs.open(“/sdcard/testfile.txt”, ifstream::in); if (ifs.is_open()) { while (!ifs.eof()) { ifs.getline (buffer,100); LOGD(buffer); } } 我对C ++很生疏,但是对于增加的读取时间没有任何合理的解释。 有一段时间我以为它可能是LOGDfunction,但我尝试完全取消它,读取时间根本没有多大帮助。 […]