小编use*_*886的帖子

检查三个布尔值中是否至少有两个是真的

一位采访者最近问我这个问题:给定三个布尔变量a,b和c,如果三个中至少有两个为真,则返回true.

我的解决方案是:

boolean atLeastTwo(boolean a, boolean b, boolean c) {
    if ((a && b) || (b && c) || (a && c)) {
        return true;
    }
    else{
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

他说这可以进一步改善,但如何?

java boolean-logic boolean

572
推荐指数
24
解决办法
15万
查看次数

为什么String.valueOf(null)抛出NullPointerException?

根据文档,该方法String.valueOf(Object obj)返回:

如果参数是null,那么一个字符串等于"null"; 否则,obj.toString()返回值.

但是当我尝试这样做时怎么样:

System.out.println("String.valueOf(null) = " + String.valueOf(null));
Run Code Online (Sandbox Code Playgroud)

它会引发NPE而不是?(如果你不相信,请亲自尝试!)

    Exception in thread "main" java.lang.NullPointerException
    at java.lang.String.(Unknown Source)
    at java.lang.String.valueOf(Unknown Source)

怎么会发生这种情况?文档对我说谎吗?这是Java中的一个主要错误吗?

java null api-design overloading nullpointerexception

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

为什么int num = Integer.getInteger("123")抛出NullPointerException?

以下代码抛出NullPointerException:

int num = Integer.getInteger("123");
Run Code Online (Sandbox Code Playgroud)

我的编译器是否getInteger在null上调用,因为它是静态的?这没有任何意义!

发生了什么?

java autoboxing integer api-design nullpointerexception

100
推荐指数
3
解决办法
6万
查看次数

请解释这段代码在做什么(someChar - 48)

我正在经历一些练习问题,我看到了这段代码:

#include <stdio.h>
#include <string.h>

int main(void) {
   char* s = "357";
   int sum = 0;
   int i = 0;
   for (i = 0; i < strlen(s); i++) {
     sum += s[i] - 48;
   }
   printf("Sum is %d", sum);

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释代码的作用,尤其是48部分的减法吗?

c encoding ascii char

7
推荐指数
2
解决办法
9896
查看次数

匹配a ^ n A ^ n与正则表达式

我们正在学习常规语言和正则表达式之间的区别,老师解释了这种语言

a^n b^n
Run Code Online (Sandbox Code Playgroud)

不常见,但她说大多数正则表达口味都可以匹配

a^n A^n
Run Code Online (Sandbox Code Playgroud)

她为我们额外的学分作业问题提出了这个问题.我们现在已经苦苦挣扎了几天,并且可以真正使用一些指导.

regex

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