小编Ext*_*ers的帖子

变换以获得剩余

我想知道如何通过仅使用bitshift或bitwise运算符将整数与另一个整数(均为正)相除来获得余数.该/经营者或%经营者不得使用.

例如,为了在除数为形式时获得余数2^k,以下操作产生余数.

m = Remainder

n = The number

d = The divisor

m = n & ( d - 1 )

但是,此方法仅在d表单形式时有效2^k.我想知道类似的非权力方法2.我目前正在研究一个问题,programming challenges并希望采用这种方法来减少程序执行时间

java bit-manipulation number-theory

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

内联汇编错误中的编译器错误: - C2400:"第二个操作数"中的内联汇编语法错误; 发现'换行'

我正在测试一些C代码并遇到了这个奇怪的编译器错误

以下代码无法编译

#include<stdio.h>
void main()
{
    int length=6;    
    __asm
    {
        mov eax,length
    }
}
Run Code Online (Sandbox Code Playgroud)

Visual Studio报告以下错误

test.c(7) : error C2400: inline assembler syntax error in 'second operand'; 
found 'newline'
Run Code Online (Sandbox Code Playgroud)

但是,我注意到如果我将变量的名称更改为其他内容,lengths那么一切都很好,下面的代码编译没有任何困难

#include<stdio.h>
void main()
{
    int lengths=6;    
    __asm
    {
        mov eax,lengths
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试过使用Digital Mars和Intel Compiler等其他编译器,但无法编译第一个代码.

可能是什么问题?length其他地方是否有其他定义.

我还想补充一点,这是一个单独的文件,而不是一个项目,所以不能有任何多个声明.

c compiler-errors visual-c++

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

java:如何使用bufferedreader读取特定的行

假设我有一个名为的文本文件:data.txt(包含2000行)

如何读取给定的特定行:500-1500然后1500-2000并显示特定行的输出?

此代码将读取整个文件(2000行)

public static String getContents(File aFile) {

        StringBuffer contents = new StringBuffer();

        try {

        BufferedReader input = new BufferedReader(new FileReader(aFile));
        try {
            String line = null; 

            while (( line = input.readLine()) != null){
            contents.append(line);
            contents.append(System.getProperty("line.separator"));
            }
        }
        finally {
            input.close();
        }
        }
            catch (IOException ex){
            ex.printStackTrace();
        }

        return contents.toString();
}
Run Code Online (Sandbox Code Playgroud)

如何修改上面的代码以读取特定的行?

java file-handling file-read bufferedreader

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

首次尝试在java.lang.NullPointerException错误中创建Application Project结果

我已经下载了ADT软件包(昨天),解压缩它,打开Eclipse并按照http://developer.android.com/sdk/installing/bundle.html上的说明进行设置.然后,我按照http://developer.android.com/training/basics/firstapp/index.html上的说明进行构建第一个应用程序.每次 - 我已经尝试了两天,每次几个小时 - 我点击"完成"后得到相同的错误.

构建期间发生错误.项目"测试"上运行构建器"Android资源管理器"的错误.显示java.lang.NullPointerException

我检查并仔细检查所有文件夹是否正确放置.我已接受所有默认设置.我没有改变任何东西,只是遵循指示.

我在Macbook Pro OSX 10.8.4上.使用ADT Build:v22.0.1-685705.

我很感激一些建议.

java eclipse android nullpointerexception adt

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

在Google App Script中发送HEAD请求

我正在开发一个Google App脚本来确定远程资源的大小而不下载它.代码如下

function getRemoteFileSize()
{  
  var params =  { "method" : "head" };
  var resp = UrlFetchApp.fetch("https://www.google.com/images/srpr/logo11w.png", params);
  Logger.log("Remote File Size: " + resp.getAllHeaders()["Content-Length"]);
}
Run Code Online (Sandbox Code Playgroud)

但是,Google App脚本似乎不支持头部请求,并且上述代码无法执行.

除了发出GET请求之外,什么是可行的替代方案?
我对所有建议持开放态度,包括使用具有API的第三方服务

javascript http-headers urlfetch google-apps-script

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

名称相同但类型不同的变量

我在这里已经读到,在Java中,具有相同名称但不同类型的两个变量可以在同一范围内共存。我的意思是这个

class test
{
    private int x;
    private double x;
}
Run Code Online (Sandbox Code Playgroud)

但是所有的Java IDE都不允许这样的代码。我想知道这样的代码在语法上是否正确,或者只是IDE不允许这样的代码防止歧义。

无论如何,这是网站的摘录

“如果幸运的话,您也许可以重新编译Jad的输出。但是,Java VM对于变量命名的规则比Java语言本身更为宽松。例如,一个有效的类文件可以包含多个名为'a的变量”,只要它们具有不同的类型。如果您反编译此类,则获得的源代码将无效。

JAD通常会重命名有问题的字段,并创建一个可重新编译的文件……唯一的问题是重新编译的文件将与原始类不兼容。”

java naming-conventions

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

懒惰地用Java加载图像

让我们考虑一下这段代码

Image img=Toolkit.getDefaultToolkit().getImage("1.png");
g.drawImage(img,0,0,null);
Run Code Online (Sandbox Code Playgroud)

代码的作用是加载图像1.png并将其绘制在图形上下文中.现在我观察到的是drawImage第一次调用它时不会绘制任何图像.相反,它会在进一步调用时绘制图像.现在我认为这种行为是由异步图像加载或方法的惰性行为引起的.

要纠正这个问题,我能做的就是使用这样的javax.swing.ImageIcon类.

Image img=new ImageIcon("1.png").getImage();
g.drawImage(img,0,0,null);
Run Code Online (Sandbox Code Playgroud)

我想知道执行相同任务的其他更好的方法是什么.

java swing lazy-loading image

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

用Java中的参数打开exe,不了解参数

我知道如何在线查找答案,用Java中的参数打开一个exe程序.但是我的具体捷径对我来说有点复杂.

我正在尝试打开一个具有以下目标的快捷方式:

C:\Windows\System32\javaw.exe -cp jts.jar;total.2012.jar -Dsun.java2d.noddraw=true -Dswing.boldMetal=false -Dsun.locale.formatasdefault=true -Xmx768M -XX:MaxPermSize=128M jclient/LoginFrame C:\Jts

在我的程序中,我将分割位置和我认为的参数分开.但是,当我运行程序时,我收到错误'Could not create Java Virtual Machine, Program will Exit'.能够更好地了解最新情况的人能解释我可能做错了什么,或者指出我可以阅读的方向吗?

    String location = "C:\\Windows\\System32\\javaw.exe";
    String p1="-cp jts.jar;total.2012.jar"; 
    String p2="-Dsun.java2d.noddraw=true";
    String p3="-Dswing.boldMetal=false";
    String p4="-Dsun.locale.formatasdefault=true";
    String p5="-Xmx768M";
    String p6="-XX:MaxPermSize=128M";
    String p7="jclient/LoginFrame" ;
    String p8 = "C:\\Jts";

try {
        Process p = new ProcessBuilder(location,p1,p2,p3,p4,p5,p6,p7,p8).start();
    } catch (IOException ex) {
        Logger.getLogger(Openprogramtest.class.getName()).log(Level.SEVERE, null, ex);
    }
Run Code Online (Sandbox Code Playgroud)

java processbuilder

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

使用Java和正则表达式来修复路径

我有一个像这样的字符串(最后并不总是相同的文件名,这只是示例)

\\eabman03\edicom\Aterlasning\repstat.txt
Run Code Online (Sandbox Code Playgroud)

我想得到这个

\\eabman03\edicom\Aterlasning\
Run Code Online (Sandbox Code Playgroud)

所以我想用Java去掉这个字符串末尾的文件名.我该如何以最有效的方式做到这一点?

java regex string path string-parsing

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