小编khe*_*ood的帖子

为JAVA中的列表定义此枚举的构造函数?

public enum Role{ 
    ADMIN("SMITH","KEVIN"),
    STUDENT("JACK", "JILL", "MARRY", "MALA"),
    GURDIAN("BOB");
}
Run Code Online (Sandbox Code Playgroud)

如何在JAVA中为此枚举定义构造函数?

我可以如下发起吗?

Role(List<String> userlist){}
Run Code Online (Sandbox Code Playgroud)

java enums list

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

模拟方法不抛出异常

我有在特殊情况下抛出异常的方法。我想编写一个测试用例来检查未抛出异常时的行为。我在文档或示例中找不到这个。请帮忙。

例如:

when(validator.validate(any(ValidationData.class))).thenThrow(new ValidationException());
Run Code Online (Sandbox Code Playgroud)

但我想测试一下是否根本没有抛出异常:

class Validator {
    void validate(ValidationData dataToValidate) throws Exception {
    }
}
Run Code Online (Sandbox Code Playgroud)

例如我需要类似的东西:

when(doSomething()).thenNotThrowException
Run Code Online (Sandbox Code Playgroud)

或者

when(doSomething()).thenDoNothing
Run Code Online (Sandbox Code Playgroud)

java exception mocking mockito

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

DecimalFormat(),与俄罗斯计算机的问题

我有一个BigDecimal转换为a String来对它进行一些修改.最后,我尝试将其转换回BigDecimal使用此部分代码:

DecimalFormat decimalFormat = new DecimalFormat();
decimalFormat.setParseBigDecimal(true);
Amt = (BigDecimal) decimalFormat.parse(amount);
Run Code Online (Sandbox Code Playgroud)

最后,我希望我BigDecimal的例子就像这样"135.40" ,它可以工作,但在我得到的俄罗斯电脑上"135.00".我不明白为什么,这是一种什么样的错误?

java bigdecimal decimalformat

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

如何使用Java Stream根据输入文件中的字符将对象添加到2D数组

我正在从文件中读取输入,其中每行具有相等数量的字符。

oooooooooo

哦哦

ro

rrrroooooo

rrrrrtoooo

我正在尝试将对象添加到Square [] []类型的2D数组中。Square是具有SquareOne,SquareTwo,SquareThree等多种实现的接口。

无论文件的位置为“ o”,我都打算为该位置添加一个SquareOne对象。同样,“ t”为SquareTwo,“ r”为SquareThree,依此类推。例如,square [0] [0]应该具有SquareOne obj,而[0] [2]应该具有SquareTwo obj。

如何使用Java 8 Stream实现它?

我已经读过这个文件的字符并将它们全部添加到char [] []数组中。但是,我想将基于字符的对象添加到Square [] []。

 public static char[][] addFromFileToSquareArray(String filePath){
        char[][] doubleChar = new char[5][10];
        try (Stream<String> stream = Files.lines(Paths.get(filePath))) {
           doubleChar =  stream
                         .map(x->x.replaceAll(" ",""))
                         .map(String::toCharArray).toArray(char[][]::new);

        } catch (IOException e) {
            e.printStackTrace();
        }
        return doubleChar;
    }
Run Code Online (Sandbox Code Playgroud)

java arrays oop java-8 java-stream

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

在Excel中0.2 + 0.1如何等于0.3?

我完全理解为什么由于浮点数导致0.1 + 0.2不等于0.3。在大多数编程语言中,0.1 + 0.2 == 0.3False

但在Excel中if(0.1 + 0.2 == 0.3; 1; 0)给出1

floating-point excel

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

比较Python中的两个字符

比较strPython(3.x,如果重要的话)中的两个字符(即一个字符)是否定义良好?还是我必须进行显式转换?

换句话说,就是:

'a' > 'b'

等同于:

ord('a') > ord('b')

python python-3.x

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

我可以在 except 子句中抛出自定义异常而不导致:“在处理...期间”

首先,如果您认为这不是最佳实践,我很乐意在评论中讨论这一点。

我的问题如下,我尝试根据用户输入查找文件。如果找不到该文件,我会得到一个FileNotFoundError. 这很好,但我想给出一个适当的例外,可以更好地描述问题。用户并不真正知道存在的文件决定某些事情是否可能。所以 aFileNotFoundError可能看起来不合适。所以我目前拥有的是:

try:
    x = get_file(...)
except FileNotFoundError as e:  # Unsupported version
    raise MyOwnException(f"Explaining the problem")
Run Code Online (Sandbox Code Playgroud)

上面的方法有效,但异常看起来像这样:

  • FileNotFoundError& 堆栈跟踪
  • “在处理上述异常期间,发生了另一个异常:”
  • MyOwnException& 堆栈跟踪

我愿意只拥有MyOwnException. 为了实现这一目标,我知道你可以这样做:

try:
    x = get_file(...)
except FileNotFoundError as e:  # Unsupported version
    file_not_found = True
if file_not_found:
    raise MyOwnException(f"Explaining the problem")
Run Code Online (Sandbox Code Playgroud)

我还可以使用 . 检查文件是否存在os.path.isfile(file_path)。但我希望有一个更优雅的解决方案,因为通常不鼓励在打开之前检查文件是否存在。

python exception python-3.x try-except

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

在 RxJS 中合并两个主题

在 RxJS 中,我怎样才能实现这一点:我有两个主题。我想要一个以这种方式组合它们的可观察量:当两者都发出值时,发出它们的最新值。然后,两者都需要至少再次发射一次,然后发射它们最新的发射值,等等。

两个科目:

1 ---------- 2 ----- 3 -- 4 ---------------- 5 ------ 6 -----------------

------- a ------------------ b ------ c --------------------- d --------
Run Code Online (Sandbox Code Playgroud)

可观察的目标:

------- 1a ----------------- 2b ----- 3c ------------------- 4d -------
Run Code Online (Sandbox Code Playgroud)

javascript rxjs typescript angular

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

Python 中的全集/无限集

我真的找不到任何关于这个的东西,这个想法是这样的,任何alement与它的交集返回元素:

val == val & InfiniteFullSet
True
Run Code Online (Sandbox Code Playgroud)

完整/无限集的想法是“模拟”所有元素。

注意,集合可以包含任何东西,可以是一组元组,或 Ints 等。

如果 python 没有任何设置,我该如何做这样的事情?

python

2
推荐指数
1
解决办法
557
查看次数

检查java中括号的有效性

我试图找出给定的输入是否是有效的括号。输入字符串由 '(', ')', '{', '}', '[' 和 ']' 组成。
输入字符串在以下情况下有效:

1.左括号必须由相同类型的括号封闭。
2.左括号必须按正确的顺序闭合。3. 空字符串有效

但是,我下面使用递归的代码不适用于有效的情况。它应该转到基本情况(当输入为“”时),但转到 for 循环之后的 return 语句。

class Solution {

    public boolean validParen(String input) {

        if(input.isEmpty()) {
            return true;
        }

        else {
            for (int i = 0; i < input.length() - 1; i++) {
                if ((input.charAt(i) == '(' && input.charAt(i + 1) == ')') ||
                        (input.charAt(i) == '{' && input.charAt(i + 1) == '}') ||
                        (input.charAt(i) == '[' && input.charAt(i + 1) == ']')) {
                    input = input.substring(0, i) …
Run Code Online (Sandbox Code Playgroud)

java algorithm math recursion parentheses

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