我有一个字符串数组,表示我想要转换为相应的基数为10的二进制数字(没有前导零).考虑:
binary 1011 becomes integer 11
binary 1001 becomes integer 9
binary 11 becomes integer 3 etc.
Run Code Online (Sandbox Code Playgroud)
什么是最好的方法?我一直在探索java.lang.number.*而没有找到直接的转换方法.Integer.parseInt(b)产生一个整数EQUAL到String ...例如,1001变为1,001而不是9 ...并且似乎不包括输出基数的参数.toBinaryString转换方向是否错误.我怀疑我需要进行多步转换,但似乎无法找到正确的方法或子类组合.我也不确定领先零或缺少零的程度是一个问题.有人有什么好的指示指点我吗?
我正在学习Java,来自C,我发现这种boolean类型的语言之间有一个有趣的区别.在C中没有bool/ ean所以我们需要使用数字类型来表示布尔逻辑(0 == false).
我想在Java中不起作用:
int i = 1;
if (i)
System.out.println("i is true");
Run Code Online (Sandbox Code Playgroud)
也没有通过类型转换来改变条件:
if ((boolean)i)
Run Code Online (Sandbox Code Playgroud)
除了做以下事情之外:
if ( i != 0 )
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以对int类型进行C-ish逻辑检查吗?只是想知道是否有任何Java技巧允许非布尔类型的布尔逻辑像这样.
编辑:
上面的例子非常简单,并使自己适应狭隘的思维范围.当我最初问这个问题时,我也在考虑函数调用的非布尔返回.例如Linux fork()调用.它本身不会返回int,但我可以很好地使用条件的数字返回值,如:
if( fork() ) {
// do child code
Run Code Online (Sandbox Code Playgroud)
这允许我处理子项的条件中的代码,而不是为父项处理代码(或者对于错误的负返回结果).
所以我目前还不知道足够的Java给出一个好的"Java"示例,但那是我最初的意图.
private String getWhoozitYs(){
StringBuffer sb = new StringBuffer();
boolean stop = generator.nextBoolean();
if(stop = true)
{
sb.append("y");
getWhoozitYs();
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
这是我在编程课程中所做项目的一大块代码.我遇到的问题是,在声明布尔停止并尝试为其分配随机生成的布尔值之后,我不能在if语句中使用它来确定是否应该向StringBuffer添加更多y.我在构造函数中有Random生成器,因此该部分不是问题.我假设因为我在if语句之外声明了布尔值,我可以在里面使用它,但似乎并非如此.真正的问题是如何在if语句中使用随机确定的布尔值.
java 中的布尔基元本身是一种类型还是可以作为 int 进行操作?在我见过的其他语言中,布尔类型可以像 false=0 和 true=1 一样操作,这有时非常方便。
我有以下代码:
public class MyFirstJavaProgram {
public static void main(String []args) {
boolean b = true;
int x = b;
System.out.println(x);
}
}
Run Code Online (Sandbox Code Playgroud)
正如标题所说,我可以char使用Java将布尔类型转换为另一种数据类型(在上面的示例中,)吗?
我有一个方法,它接受一个javafx.scene.paint.color参数并返回black或white作为一个color取决于brightness给定的color.
这是我的代码:
@Override
public Color getPixelColor(Color color) {
return color.getBrightness() > cutOff ? Color.WHITE : Color.BLACK;
}
Run Code Online (Sandbox Code Playgroud)
因为这对每个要做pixel的image该方法可以利用根据的一会儿image size.(对于全高清图像,代码将运行200万条if语句)
所以我的问题是,如果有一种方法/计算,它会给你0(黑色)或1(白色)作为结果但不使用任何if陈述.
提前致谢.