小编MC *_*ror的帖子

当使用整数计算Java的阶乘100(100!)时,我得到0

这样做时:

int x = 100;
int result = 1;
for (int i = 1; i < (x + 1); i++) {
    result = (result * i);
}
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)

这显然是因为结果对于整数来说太大了,但我习惯于为溢出得到大的负数,而不是0.

提前致谢!


当我切换到这个:

int x = 100;
int result = 1;

for (int i = 1; i < (x + 1); i++) {
    result = (result * i);
    System.out.println(result);
}
Run Code Online (Sandbox Code Playgroud)

我得到这个.

java int overflow factorial

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

在C++中返回"this"?

在Java中,您只需return this获取当前对象即可.你是如何用C++做到的?

Java的:

class MyClass {

    MyClass example() {
        return this;
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ return this

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

如何使用Java 8 Streams将对象属性分组并映射到另一个对象?

假设我有一组碰碰车,它们两侧有尺寸,颜色和标识符("汽车代码").

class BumperCar {
    int size;
    String color;
    String carCode;
}
Run Code Online (Sandbox Code Playgroud)

现在我需要的碰碰车映射到ListDistGroup对象,每个包含属性size,color以及List汽车代码.

class DistGroup {
    int size;
    Color color;
    List<String> carCodes;

    void addCarCodes(List<String> carCodes) {
        this.carCodes.addAll(carCodes);
    }
}
Run Code Online (Sandbox Code Playgroud)

例如,

[
    BumperCar(size=3, color=yellow, carCode=Q4M),
    BumperCar(size=3, color=yellow, carCode=T5A),
    BumperCar(size=3, color=red, carCode=6NR)
]
Run Code Online (Sandbox Code Playgroud)

应该导致:

[
    DistGroup(size=3, color=yellow, carCodes=[ Q4M, T5A ]),
    DistGroup(size=3, color=red, carCodes=[ 6NR ])
]
Run Code Online (Sandbox Code Playgroud)

我尝试了以下,实际上做了我想要它做的事情.但问题是,它物化的直接结果(成Map),我认为,也可以在做一次(可能使用mappingcollectingAndThenreducing或东西),导致更优雅的代码.

List<BumperCar> bumperCars = ...
Map<SizeColorCombination, List<BumperCar>> map …
Run Code Online (Sandbox Code Playgroud)

java grouping java-8 java-stream collectors

15
推荐指数
1
解决办法
464
查看次数

软键盘输入键事件句柄

我想在软键盘上做一些东西输入按键.请参阅下面的代码和输出.它执行两次,但我希望它只执行一次.怎么解决?

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    txt = (EditText)findViewById(R.id.txt);
    txt.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_ENTER) {
                Log.e("test","--------- on enter");
                return false;
            }
            return false;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

这是我的输出

android

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

哪些DOM元素不能接受id?

我正在阅读这个关于canvas元素的基础教程.在(almost)下面的一句话引起了我的注意:

id属性不是特定于元素,而是可以应用于(几乎)每个HTML元素的默认HTML属性之一

哪个html元素不能接受id?

html html5 dom

14
推荐指数
2
解决办法
257
查看次数

广播收到两次

我正在使用本地广播让我的服务知道AsyncTask已完成其工作但我有一个小问题:广播只发送一次(它是由一个仅在应用程序启动时调用的函数创建的)但我收到两次.

简化代码:

@Override
protected void onPostExecute(HttpResponse result) {
    LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(getBaseContext());
    localBroadcastManager.sendBroadcast(new Intent(getString(R.string.bc_CONNECTED)));
}
Run Code Online (Sandbox Code Playgroud)

在服务中:

private BroadcastReceiver connectedBroadcastReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d(getString(R.string.app_tag), "broadcast received !!");
    }
};

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    LocalBroadcastManager.getInstance(this).registerReceiver(connectedBroadcastReceiver, new IntentFilter(getString(R.string.bc_CONNECTED)));
    return START_STICKY;
}
Run Code Online (Sandbox Code Playgroud)

有没有人遇到过这种奇怪的行为呢?

service android broadcastreceiver

14
推荐指数
2
解决办法
9351
查看次数

如何默认显示符号模式的Android键盘?

我有一个EditText组件,当然,如果你点击它,会显示Android键盘,允许用户输入文本.据我所知,所有Android软件键盘都有(至少)字母模式(ABC)和符号模式(?123).他们的默认视图是字母模式.

现在,当EditText单击组件时显示键盘时,我希望默认显示符号模式.用户仍然可以切换到字母模式.

在此输入图像描述

有没有办法实现这一目标?如果有,怎么样?

android android-keypad android-softkeyboard android-inputtype

13
推荐指数
1
解决办法
9163
查看次数

Hive中动态和静态分区的主要区别

Hive中静态和动态分区的主要区别是什么?使用单个插入意味着静态和单个插入到分区表意味着动态.还有其他优势吗?

hive

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

在Web浏览器中运行Java应用程序

我是Java的新手,有一个Java应用程序,包含几个包和许多类.我希望能够在Web浏览器中运行此应用程序.我该怎么做呢?

java embed applet

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

NetBeans中SFTP的私钥文件

我正在尝试配置Netbeans以自动将PHP文件上传到SFTP服务器(我在该服务器中没有管理员权限).

一切都很好,除了Netbeans每次需要上传内容时都会发出警告:

主机的真实性......无法建立.RSA密钥指纹是XX:XX:XX:,,,,您确定要继续连接吗?

如何避免每次都被提示?我想指定私钥文件就足够但不知道如何生成该文件.你能帮助我吗?(通过其他方式抑制警告也可以.)

authentication sftp netbeans

12
推荐指数
1
解决办法
9477
查看次数