小编The*_*Hat的帖子

Java浮点数表示为十六进制数

为什么0x1p3相等8.0?为什么0x1e3相等483,而0x1e3d平等7741?这是1e3d平等的混乱1000.0.

java floating-point hex

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

静态代码块可以抛出异常吗?

在假设的情况下,我有一个这样的课:

import java.io.File;
import java.util.Scanner;
class X
{
    static Scanner scanner;
    static
    {
        scanner = new Scanner(new File("X.txt"));
    }
}
Run Code Online (Sandbox Code Playgroud)

在编译时,我明白了

未报告的例外java.io.FileNotFoundException; 必须被抓住或宣布被抛出

因为public Scanner(File source) throws FileNotFoundException.

要解决这个问题,我可以scanner = new...在try/catch语句中添加一行:

    static
    {
        try
        {
            scanner = new Scanner(new File("X.txt"));
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是,我有什么方法可以做到这样的事情:

    static throws java.io.FileNotFoundException
    {
        scanner = new Scanner(new File("X.txt"));
    }
Run Code Online (Sandbox Code Playgroud)

这是一个假设的情况.请不要说"那你为什么要那样做?" 或者"这是制作扫描仪的更好方法!"

java static static-block try-catch throws

8
推荐指数
2
解决办法
3522
查看次数

为什么我们在加载字指令中使用Sign Extend?

我正在学习MIPS 32位.我想问一下为什么我们签名扩展16位偏移(在单周期数据路径中),然后在存储字的情况下将其发送到ALU?

mips isa mips32

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

为什么数组的长度是不可变的?

为什么数组的长度是不可变的(至少在java中)?我对编程语言的内部工作几乎一无所知,所以对我来说似乎很容易使数组的长度发生变化.我假设数组长度有一个很好的理由是不可变的,可能与性能有关.有人知道这个原因吗?

对不起,如果之前已经问过这个问题.如果有,我在大约10分钟的搜索中找不到它.

编辑:我知道当一个数组被初始化时,会分配一定数量的内存.为什么不能分配更多内存?

java arrays

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

处理闪烁问题的3D SVG动画,svg加载问题

我正试图通过Jer Thorp的"Just Landed"启发时间推移地理推特可视化.我正在使用最新版本的处理.

我正在为我的地图使用SVG图像,因为我希望能够以任意角度放大地图,专注于某些地方,然后在全球范围内显示推特连接.我遇到了几个问题,第一个问题是当我旋转地图时,这些国家的路径边界会闪烁.这是我的问题的截图:

这是导致问题的代码:

import processing.opengl.*;
import java.awt.event.*;

PShape map;
PShape test1;
PShape test2;

//camera position/movement intialization
PVector position = new PVector(450, 450);
PVector movement = new PVector();
PVector rotation = new PVector();
PVector velocity = new PVector();

float rotationSpeed = 0.035;
float panningsSpeed = 0.035;
float movementSpeed = 0.05;
float scaleSpeed = 0.25;
float fScale = 2;

void setup(){
  map = loadShape("blank_merc.svg"); //swap out for whatever file
  size(900, 900, OPENGL);
  smooth();
  fill(150, 200, 250);
  addMouseWheelListener(new MouseWheelListener(){ …
Run Code Online (Sandbox Code Playgroud)

twitter processing animation svg map

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

删除Notepad ++中的第一列

我有这个文件:

 206  06:06:00.00   X               "?????? -2.00"                   00:02:00.00                    
 282  06:50:00.00   X               "?????? -1.00"                   00:01:00.00                    
 353  07:27:00.00   X               "?????? -1.00"                   00:01:00.00                    
 435  08:20:00.00   X               "?????? -1.00"                   00:01:00.00                    
 482  08:39:00.00   X               "?????? -1.00"                   00:01:00.00                    
 521  09:16:00.00   X               "?????? -1.00"                   00:01:00.00                    
 667  10:42:00.00   X               "?????? -2.00"                   00:02:00.00                    
 896  12:54:00.00   X               "?????? -1.30"                   00:01:30.00                    
1003  13:57:00.00   X               "?????? -1.30"                   00:01:30.00                    
1154  15:29:00.00   X               "?????? -2.00"                   00:02:00.00                    
1272  16:23:00.00   X               "?????? -1.00"                   00:01:00.00                    
1309  16:57:00.00   X               "?????? -1.30"                   00:01:30.00                    
1401  17:49:00.00   X               "?????? -2.00"                   00:02:00.00                    
1434 …
Run Code Online (Sandbox Code Playgroud)

regex formatting replace notepad++

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

Java获得下载进度

我正在编写Java应用程序(使用NetBeans作为IDE和jFrame表单),其中一部分是下载文件.如何使用当前下载进度更新进度条,或者至少获取另一个线程中当前下载的字节总数?

以下是我的代码的一部分:

Runnable updatethread = new Runnable() {
        public void run() {
            try {
                java.io.BufferedInputStream in = new java.io.BufferedInputStream(new java.net.URL("server/package.zip").openStream());
                java.io.FileOutputStream fos = new java.io.FileOutputStream("package.zip");
                java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
                byte[] data = new byte[1024];
                int x=0;
                while((x=in.read(data,0,1024))>=0)
                {
                    bout.write(data,0,x);
                }
                bout.close();
                in.close();
            }
            catch(FileNotFoundException e) { } catch (IOException e) { }
        }
    };
new Thread(updatethread).

start();
try {
    updatethread.wait();

} catch (InterruptedException ex) { }
Run Code Online (Sandbox Code Playgroud)

java swing multithreading jframe

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

如何在Heap文件中找到局部变量

我有一个j2ee应用程序并通过visualVM进行监控.

让我们说我有这样的方法:

public void doStuff(int param) {
    String s = getStringVariable(param);
    StringBuilder sb = new StringBuilder();
    //Do stuff with sb object
}
Run Code Online (Sandbox Code Playgroud)

从线程点击,我可以看到我的一些线程卡在上面的方法中.所以我已经生成了一个堆转储文件来找出s和sb包含的内容.

但是我该怎么做呢?我正在使用Eclipse Memory Analyzer.

java visualvm heap-dump eclipse-memory-analyzer

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

十六进制浮点文字

如何0x12.2P2等于72.5?

我知道P之后的值,称为二进制指数,表示数字乘以2的幂?

java floating-point hex

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

intellij Idea中的Java代码格式化(链式方法调用)

我对Intellij Idea 14.1.4中的java代码格式有一个小问题.我有一段由我手动格式化的代码,对我来说很好看:

public class Test {
    private static final ImmutableMap<String, String> map = new ImmutableMap.Builder<String, String>()
            .put("key", "value")
            .put("key", "value")
            .put("key", "value")
            .put("key", "value")
            .put("key", "value")
            .put("key", "value")
            .build()
}
Run Code Online (Sandbox Code Playgroud)

但是当我重新格式化这段代码(Ctrl + Alt + L)时,我得到了:

public class Test {
    private static final ImmutableMap<String, String> map =
            new ImmutableMap.Builder<String, String>().put("key", "value")
                    .put("key", "value")
                    .put("key", "value")
                    .put("key", "value")
                    .put("key", "value")
                    .put("key", "value")
                    .build()
}
Run Code Online (Sandbox Code Playgroud)

预期结果: Intellij不会重新格式化任何内容,因为代码已经格式良好.

我有一个方案(代码样式设置可以在这里下载)与下一个设置: 在此输入图像描述

有人可以解释我如何达到预期的结果吗?

java code-formatting intellij-idea

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