小编Ric*_*tze的帖子

在Java中,条件表达式是一个线程安全的操作吗?

我想知道条件表达式是否是Java中的线程安全操作.
例如:

return (mObject != null ? mObject.toString() : "null");  
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:如果两个线程可以更改mObject,这个代码线程是安全的,还是开发人员需要处理任何竞争条件?

java multithreading thread-safety race-condition conditional-expressions

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

需要帮助反编译jar文件,编辑一个类,并保存为jar文件

我有一个jar文件,我需要编辑一个特定的类并将其保存回jar文件中.我尝试了不同的反编译器,但我无法保存回jar.

我尝试使用Eclipse和JADCLIPSE进行反编译.通过使用它,我可以看到反编译的类文件,但我无法编辑它.有谁可以帮我解决这个问题?

java reverse-engineering executable-jar decompiler

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

C++ BEGINNER阶乘程序,输出混乱

我正在麻省理工学院开放式课程中介绍C++,下面的代码在教授的第一个问题集中作为计算阶乘的基本程序,并提供了一些相关的问题.

#include <iostream>
using std::cout;
using std::cin;
int main () 
{
    short number;
    cout << "Enter a number: ";
    cin >> number;
    cout << "The factorial of " << number << " is ";
    int accumulator = 1;
    for(; number > 0; accumulator = (accumulator * (number--)));
    cout << accumulator << '.\n';
    system("pause>nul");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

第一个问题是:"输入以下值时会得到什么:0,1,2,9,10?"

答案部分读作"0:1; 1:1; 2:2; 9:362880; 10:3628800",但这不是我发生的事情.我的程序输出"11768",每个明显正确的答案,我不明白为什么.

我看到答案:"0:111768; 1:111768; 2:211768; 9:36288011768; 10:362880011768"

也许代码中有问题,但我没有看到它.我正在使用Visual Studio 2012.也许有人有想法?谢谢你的时间.

c++ factorial

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

另一种"比较方法违反了其总合同!"

作为实习的一部分,我被要求调查一个错误.一段代码正在抛出

java.lang.IllegalArgumentException:比较方法违反了它的一般合同!

自定义Comparator是通过查看long所述自定义类的成员变量来比较两个自定义类:

return v1 > v2 ? -1 : v1 < v2 ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)

equals此自定义类的方法查看此自定义类的String成员变量.我们有一段时间重现这种行为.我下意识的反应是代替return语句在自定义Comparator与return v2.compareTo(v1);范围,但我们是持怀疑态度,这将解决这个问题.有人可以提供任何见解吗?

Arrays.sort(anArray, new Comparator<ACustomClass>() {
  @Override
  public int compare(ACustomClass o1, ACustomClass o2) {
    long v1 = o1.getALong();
    long v2 = o2.getALong();
    return v1 > v2 ? -1 : v1 < v2 ? 1 : 0;
  }});
Run Code Online (Sandbox Code Playgroud)

java comparator illegalargumentexception java-7

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

如何将seq压缩为字符串并在Scala中重新构建?

如何扁平化一个Seq像("a", "b", "c")以"a,b,c"在Scala呢?

如何从逗号分隔后面构建一个String?谢谢.

scala

0
推荐指数
1
解决办法
1890
查看次数

想知道数组中的类?

我有一个包含以下代码的脚本:

    import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;


public class app {
    public static int p;
    public static int b=0;
    public static int i;
    public static int add;

    public static List<Integer> a = new ArrayList<Integer>();
    public static List<Node> c = new ArrayList<Node>();
    public static void main(String[] args){
        Random rand = new Random();


        for( i = 0;i<=10;i++){
            int random = getRandom();
            if(random!=0){
        a.add(random);
            }else if(random == 0){

            }
        }
        Collections.sort(a);
        System.out.println(a);

        for(int z = 1;z<a.size();z++){
        Node n = …
Run Code Online (Sandbox Code Playgroud)

java arrays class

0
推荐指数
1
解决办法
82
查看次数

处理Java异常

我无法弄清楚为什么我的代码没有正确编译..我可以通过代码直到它到达catch块.它工作,显示消息,所以我知道它正在捕捉错误.但是,它结束了我的程序,说我在同一个地方有同样的错误.我看不出我做错了什么.谢谢你的帮助!!

class Verification {

String detAccess(String[] pL, String[] uL, String pass, String user) {
    int pos = 0;
    String access = "";
    try {
        for (int i=0; !user.equals(uL[i]); i++)
            pos++;
    } catch (ArrayIndexOutOfBoundsException exec) {
        System.out.println("Username doesn't exist.");
        throw exec;
    }
    if(pass.equals(pL[pos])) {
        access = "MEMBER";
    } else {
        System.out.println("Incorrect password.");
        access = "DENIED";
    }

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

}

java exception

-1
推荐指数
1
解决办法
71
查看次数

Java的.方法不会返回数组

我正在尝试从方法返回一个数组; 它不起作用.我从文本文件中获取数组的信息.数组在方法期间成功获取信息,但不会将其返回到main.

import javax.swing.JFrame;

public class TerminalVenta {

    public static void main (String[] args){
        Log k = new Log();
        String[][]array = new String[5][3];
        k.abrirLog();
        k.leerArchivo(array);
        System.out.println(array[0][1]);
        k.closeFile();
    }
}


import java.io.*;
import java.util.*;

public class Log {
    private Scanner x;
    String arreglo[][] = new String [5][3];

    public void abrirLog() {
        try {
            x = new Scanner(new File ("Log.txt"));
        }
        catch(Exception e) {
            System.out.println("No se pudo abrir el archivo");
        }
    }

    public String[][] leerArchivo(String array[][]) {
        String a = x.next();
        String …
Run Code Online (Sandbox Code Playgroud)

java

-1
推荐指数
1
解决办法
370
查看次数