小编Ton*_*ony的帖子

Java模块化逆

我在Java中做了一些纠错,并且缩短了很长一段时间;

在模式11下:

-4 mod 11 = 7
Run Code Online (Sandbox Code Playgroud)

我已经通过使用谷歌的计算器和几个在线模数计算器证实了这一点,但我不能为我的生活弄清楚如何用Java做到这一点.

我在想我需要使用一个倒数表来找到正确的数字,但我似乎是围成一圈.

任何输入将不胜感激.

预先感谢

托尼

java inverse modulo

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

将字符串解析为long,前导零

长话短说(Java):

String input= "0888880747;

long convert = Long.parseLong(input);
Run Code Online (Sandbox Code Playgroud)

convert的值现在是:888880747

我如何解析Stringa long但保留前导零?

java parsing zero long-integer

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

Java ProgressMonitorInputStream使用现有的JProgressBar

我正在玩Java的ProgressMonitorInputStream来监视数据流经BufferedInputStream.这是我正在尝试的代码:

InputStream in = new BufferedInputStream(
     new ProgressMonitorInputStream(
     new JFrame(),"Scanning",new FileInputStream(dir.getSearchInputFile())));
Run Code Online (Sandbox Code Playgroud)

这非常合适,并弹出一个新的JFrame窗口,其中包含一个显示输入流进度的进度条.

有没有让ProgressMonitorInputstream更新另一个JFrame中存在的现有JProgressBar?

我尝试了各种方法,例如使用构造函数传递JProgressBar,或尝试在参数中指定帧.每次我尝试,我只是得到一个新的JFrame.

我错了吗?

任何投入将不胜感激.

谢谢

java swing inputstream progressmonitor progress-bar

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

x86 JMP操作码结构

我只是看一下我在C中编写的一个简单exe的.text部分,我只想弄清楚一些x86操作码的结构.

从我一直在阅读的内容来看,似乎0xe9是相对跳转(JMP)的单字节操作码,但是我不确定其余的字节实际上是如何构成跳转地址的.

我正在使用超级在线反汇编程序ODA来反汇编我的程序,这就是显示的内容:

.text:0x00411005    e936210000  jmp    0x00413140
Run Code Online (Sandbox Code Playgroud)

因此0xe9是JMP指令,因为这是一个32位可执行文件,我假设接下来的四个字节将成为跳转的地址,但是我不确定它们是如何实际构造的.

如果有人能帮助他发光,我会很感激.

谢谢

c x86 assembly intel

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

Java FileWriter拒绝覆盖

我很困惑......

public class Testing {

    public static void main(String[] args) throws FileNotFoundException, IOException, InterruptedException {

        System.out.println("Testing overwrite");

        FileWriter writer = new FileWriter("c:\\testing\\testfile.txt", false);

        writer.write("First test");
        writer.flush();

        TimeUnit.SECONDS.sleep(5);

        writer.write("Second test");
        writer.flush();

        writer.close();

    }

}
Run Code Online (Sandbox Code Playgroud)

完成后,文件的内容是:

First testSecond test
Run Code Online (Sandbox Code Playgroud)

根据这里的Java文档,传递给FileWriter值的布尔值False应该导致覆盖而不是附加:Java 6 Filewriter API

我以前遇到过这个问题,而且我用了一个RandomAccessFile来绕过这个问题,但现在它只是让我讨厌!

任何想法或建议将不胜感激,谢谢!

java filewriter

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

Java模块化部门

我正在做一些纠错,我需要在Java的mod 11下将两位数字相除。

现在,我知道了,通过使用模块化计算器:

9/1 mod 11 = 9
2/10 mod 11 = 9
Run Code Online (Sandbox Code Playgroud)

问题出在让Java计算这一点。在Java中:

(9 / 1) % 11 = 9 - This is fine
(2 / 10) % 11 = 0 - This is not correct.
Run Code Online (Sandbox Code Playgroud)

我知道Java在技术上不能执行模块化操作,而我的一部分则在想我要么需要以某种方式计算逆,要么使用数组来存储可能的输出值。

java division modular-arithmetic

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

C printf整数类型U32

我有十六进制值0x5a800000000b,我正在尝试在C中获取printf语句以将其打印到控制台.

到目前为止(因为我在C中没用)我可以使用以下语法来打印'b':

printf("Hex value%x\n", value);
Run Code Online (Sandbox Code Playgroud)

该值存储在整数类型U32中,但在尝试%llx,%lx的所有不同组合后,我只是不断收到编译器警告.

我猜我的printf语法错误,但我似乎无法找到正确的%选项,有人可以帮助我吗?

谢谢

c printf integer

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

使用mmap共享进程内存

我有一个在内存中生成大量数据的C程序,我需要在内存中共享这些数据的一个特定部分,以便另一个进程可以对它进行读取访问.

我试图mmap这样做,但我没有取得多大成功.这是我的代码:

//Code above generates a pointer to the memory section I need to share, named addr

if (infoBlock->memory_size == 1073741824) { //This is the data block I need to share
   int err, fd;
   fd = open("/tmp/testOutput", (0_RDWR | 0_CREAT), S_IWUSR);
   if (fd < 0) {
         perror("Couldn't create output file\n");
         goto failedExit;
    }

    unsigned *p = mmap(addr, 1073741824, PROT_READ, (MAP_SHARED | MAP_FIXED), fd, 0);
    if (!p) {perror("mmap failed"); goto failedExit; }
    printf("p is now: %p\n", p); //This should …
Run Code Online (Sandbox Code Playgroud)

c linux ipc mmap

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