小编Dav*_*rad的帖子

如何将大十六进制数(带小数点)转换为BigDecimal

我有一个十六进制格式的大数字(带小数点)String,我希望将它转换为BigDecimal.

示例值: 0xcc.ccdp+1600

BigDecimal类中,我没有看到任何以十六进制格式表示数字的字符串作为输入并返回相应的函数BigDecimal.

有没有办法将大十六进制数转换StringBigDecimal?

java

14
推荐指数
1
解决办法
1857
查看次数

Nashorn在JDK 9和JDK 10上的表现

如果您在JDK 8上使用Nashorn解释moment.js库,它将在几秒钟内运行:

time .../JDK8/bin/jjs moment-with-locales-2.22.2.js
real    0m2.644s
user    0m10.059s
sys     0m0.287s

但是在JDK 9或10上做同样的事情,这很可怕:

time .../JDK10/bin/jjs moment-with-locales-2.22.2.js
real    0m27.308s
user    0m59.690s
sys     0m1.353s

这实际上要慢十倍.只有我吗?

我知道Nashorn会被弃用,但是如果它得到支持它会不能正常工作?

有什么建议?解决方法?

java nashorn java-9 java-10

14
推荐指数
1
解决办法
431
查看次数

如何从Java中的HashMap获取关键位置

如何获得地图中的关键位置?我怎样才能看到"奥迪"和"宝马"的位置?

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("Audi", 3);
map.put("BMW", 5);
Run Code Online (Sandbox Code Playgroud)

java

7
推荐指数
1
解决办法
1万
查看次数

数字被17整除?

给出最大1000位数的正数.你必须弄清楚这个数字是否可以被17整除.我知道一种算法,它将最后一位数乘以5并从剩余数中减去,如果得到的数字可以被17整除,那么该数字可以被17整除.是否有更有效的方法?

algorithm math

5
推荐指数
1
解决办法
3372
查看次数

在 Java 中返回字符串方法?

我正在上一个初级编程课程,直到现在我们已经开始使用方法,而且我不确定我是否完全理解“静态”、“无效”、和“返回”语句。

特别是对于这个任务,我以为我已经全部弄清楚了,但是它在 main 方法的行上说它“找不到符号直方图”,尽管我显然是从另一个方法返回它。有谁能帮帮我吗?

作业:“你看到你在编写程序时可能经常需要直方图,所以你决定让这个程序使用你的程序 310a2 直方图。你可以添加到这个程序或将它用作一个类。你还将编写一个类(或方法) ) 将生成各种范围内的随机数。您可能希望星号代表不同的值(1、100 或 1000 个单位)。您可能还希望使用星号以外的字符(例如 $)来表示单位运行程序足够多的次数来说明程序的各种能力。

所需语句:输出、循环控制、决策、类(可选)、方法。

示例输出:

十月销售

日日销售额图

2 37081 *************************************

3 28355 ****************************

4 39158 ****************************************

5 24904 ************************

6 28879 ****************************

7 13348 *************”

这是我所拥有的:

import java.util.Random;

public class prog310t
{ 
  public static int randInt(int randomNum) //determines the random value for the day
  {   
    Random rand = new Random();

    randomNum = rand.nextInt((40000 - 1000) + 1) + 10000;

    return randomNum;
  }

  public String histogram (int randomNum) //creates the histogram …
Run Code Online (Sandbox Code Playgroud)

java string methods

5
推荐指数
1
解决办法
8万
查看次数

Python装饰器计数函数调用

我刷新了我尚未得到的一些python功能的记忆,我正在从此python教程中学习,并且有一个我不完全了解的示例。这是关于装饰器计算对函数的调用的代码,这是代码:

def call_counter(func):
    def helper(x):
        helper.calls += 1
        return func(x)
    helper.calls = 0
    return helper

@call_counter
def succ(x):
    return x + 1

if __name__ == '__main__':
    print(succ.calls)
    for i in range(10):
        print(succ(i))
    print(succ.calls)
Run Code Online (Sandbox Code Playgroud)

我在这里没有得到的是为什么我们增加函数包装器的调用(helper.calls + = 1)而不是函数调用本身,为什么它真正起作用?

python python-decorators

5
推荐指数
2
解决办法
3439
查看次数

如何在Joda中使用JDK GregorianCalendar对象日期

我正在尝试使用Joda库,因为使用Java本机方法计算周期非常麻烦,而且我的所有尝试都给出了不准确的结果

我看过这个样本

int n = Days.daysBetween(start.toLocalDate(), end.toLocalDate()).getDays();
Run Code Online (Sandbox Code Playgroud)

由于我所有的班级都管理GregorianCalendar,因此我需要一种计算支持GregorianCalendar的天数的方法,例如

 public int countDays(GregorianCalendar start, GregorianCalendar end){
     //convert to joda start and end
     ...
     return Days.daysBetween(start.toLocalDate(), end.toLocalDate()).getDays();
 }
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如何将GregorianCalendar对象转换和重新转换为Joda管理的对象而又没有副作用?

java jodatime gregorian-calendar

4
推荐指数
1
解决办法
2202
查看次数

如何计算f#中的任意函数

这是问题所在.我需要使用另一个函数计算f#中的函数.我有这段代码

let time f a =
  let start = System.DateTime.Now in
  let res = (fun f a -> f(a)) in
  let finish = System.DateTime.Now in
  (res, finish - start)
Run Code Online (Sandbox Code Playgroud)

我试图称之为

time ackermann (2,9);;
Run Code Online (Sandbox Code Playgroud)

我有一个函数ackermann,它将一个元组(s,n)作为参数可能是一个从根本上错误的东西,但我不认为我远离一个可能看起来有点像这样的解决方案.

有什么建议?

哦顺便问一下.我得到的错误信息是:

stdin(19,1):错误FS0030:值限制.值'it'被推断为具有泛型类型val:(('_a - >'_ b) - >'_a - >'_ b)*System.TimeSpan
将'it'定义为一个简单的数据项,使其成为具有显式参数的函数,或者,如果您不打算使用它,则添加类型注释.

lambda f# function

3
推荐指数
2
解决办法
744
查看次数

向子类添加公共方法是否违反LSP(Liskov替换原则)?

如果我将子方法添加到子类并且客户端程序调用添加的方法,则客户端程序不能使用父对象而不是子类.

import unittest

class BaseClass(object):

    def doSomething(self):
        pass


class SubClass(BaseClass):

    def doStuff(self):
        pass

class Client(object):

    def __init__(self, obj):
        self.obj = obj

    def do(self):
        self.obj.doStuff()

class LSPTestCase(unittest.TestCase):

    def test_call_subclass_method(self):
        client = Client(SubClass())
        client.do()

    def test_call_baseclass_method(self):
        client = Client(BaseClass())
        with self.assertRaises(AttributeError):
            client.do()

if __name__ == '__main__':
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

这种情况违反了LSP?

oop liskov-substitution-principle solid-principles

3
推荐指数
1
解决办法
505
查看次数

如何进行过滤和映射而不会产生重复操作的开销

我有一些情况下使用Java 8 Stream让我重复执行某些操作,如果没有Stream就可以避免,但我认为问题不在于流,而在于我.

一些例子:

private class Item {
    String id;
    List<String> strings;
}

// This method, filters only the Items that have the strToFind, and
// then maps it to a new string, that has the id and the str found
private void doIt(List<Item> items, String strToFind) {
    items.stream().filter(item -> {
        return item.strings.stream().anyMatch(str -> this.operation(str, strToFind));
    }).map(item -> {
        return item.id + "-" + item.strings.stream()
            .filter(str -> this.operation(str, strToFind)).findAny().get();
    });
}

// This operation can have a lot of overhead, …
Run Code Online (Sandbox Code Playgroud)

java performance java-stream

3
推荐指数
1
解决办法
126
查看次数