我在Java中做了一些纠错,并且缩短了很长一段时间;
在模式11下:
-4 mod 11 = 7
Run Code Online (Sandbox Code Playgroud)
我已经通过使用谷歌的计算器和几个在线模数计算器证实了这一点,但我不能为我的生活弄清楚如何用Java做到这一点.
我在想我需要使用一个倒数表来找到正确的数字,但我似乎是围成一圈.
任何输入将不胜感激.
预先感谢
托尼
长话短说(Java):
String input= "0888880747;
long convert = Long.parseLong(input);
Run Code Online (Sandbox Code Playgroud)
convert的值现在是:888880747
我如何解析Stringa long但保留前导零?
我正在玩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.
我错了吗?
任何投入将不胜感激.
谢谢
我只是看一下我在C中编写的一个简单exe的.text部分,我只想弄清楚一些x86操作码的结构.
从我一直在阅读的内容来看,似乎0xe9是相对跳转(JMP)的单字节操作码,但是我不确定其余的字节实际上是如何构成跳转地址的.
我正在使用超级在线反汇编程序ODA来反汇编我的程序,这就是显示的内容:
.text:0x00411005 e936210000 jmp 0x00413140
Run Code Online (Sandbox Code Playgroud)
因此0xe9是JMP指令,因为这是一个32位可执行文件,我假设接下来的四个字节将成为跳转的地址,但是我不确定它们是如何实际构造的.
如果有人能帮助他发光,我会很感激.
谢谢
我很困惑......
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的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在技术上不能执行模块化操作,而我的一部分则在想我要么需要以某种方式计算逆,要么使用数组来存储可能的输出值。
我有十六进制值0x5a800000000b,我正在尝试在C中获取printf语句以将其打印到控制台.
到目前为止(因为我在C中没用)我可以使用以下语法来打印'b':
printf("Hex value%x\n", value);
Run Code Online (Sandbox Code Playgroud)
该值存储在整数类型U32中,但在尝试%llx,%lx的所有不同组合后,我只是不断收到编译器警告.
我猜我的printf语法错误,但我似乎无法找到正确的%选项,有人可以帮助我吗?
谢谢
我有一个在内存中生成大量数据的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) java ×5
c ×3
assembly ×1
division ×1
filewriter ×1
inputstream ×1
integer ×1
intel ×1
inverse ×1
ipc ×1
linux ×1
long-integer ×1
mmap ×1
modulo ×1
parsing ×1
printf ×1
progress-bar ×1
swing ×1
x86 ×1
zero ×1