gpt4 book ai didi

java - 坚持使用 boolean 值总是返回 TRUE

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:14:15 25 4
gpt4 key购买 nike

你好,我是 Java 世界的新手,我坚持我的代码,如果有一点帮助 p

我在这段代码中遇到 boolean 值问题/

public class Variables {
boolean bit;
String name;
public Variables(int b, String name){
this.name = name;
bit = test(b);
}
public boolean test(int b) {
System.out.println(b);
if(b==49) {
return true;
}
if(b==48) {
return false;
}
else {
return false;
}
}
}

问题是无论 b 的数量是多少,它总是返回 true实际上我想要的是得到一个数字 1 或 0 女巫在一个字符中并转换为一个 boolean 值 t/f

提前致谢

更多代码

public class truthtable2 {
public ArrayList <Variables[]>bits = new ArrayList<>();

public truthtable2 (ArrayList <String> inputs){
String [] inputsTab = inputs.toArray(new String[inputs.size()]);
Variables[] bittab = new Variables[inputsTab.length];
int total = (int) (Math.pow(2,inputs.size()))-1;
String tab[]=new String[total+1];
for(int i =0;i<=total;i++){
tab[i]=(String.format("%16s", Integer.toBinaryString(i)).replace(' ', '0'));
}
for(int i = 0;i<tab.length;i++){
char[] chars = tab[i].toCharArray();

for(int x = 0;x<inputs.size();x++){
int d = 15-x;
bittab[x]= new Variables(chars[d], inputsTab[x]);
}
bits.add(bittab);
}
for(Variables[] d: bits){
for(int f = 0;f<d.length;f++){
System.out.format("%4s %4s \n",d[f].bit,d[f].name);
}
}
}
}

编辑

'0' -->A false
'0' -->B false
'0' -->Cin false
'1' -->A true
'0' -->B false
'0' -->Cin false
'0' -->A false
'1' -->B true
'0' -->Cin false
'1' -->A true
'1' -->B true
'0' -->Cin false
'0' -->A false
'0' -->B false
'1' -->Cin true
'1' -->A true
'0' -->B false
'1' -->Cin true
'0' -->A false
'1' -->B true
'1' -->Cin true
'1' -->A true
'1' -->B true
'1' -->Cin true

编辑 2

在这次执行中

for(Variables[] d: bits){
for(int f = 0;f<d.length;f++){
System.out.format("%4s %4s \n",d[f].bit,d[f].name);

我有这个结果

true    A 
true B
true Cin
true A
true B
true Cin
true A
true B
true Cin
true A
true B
true Cin
true A
true B
true Cin
true A
true B
true Cin
true A
true B
true Cin
true A
true B
true Cin

最佳答案

据我所知,您的代码没有任何问题。您如何测试 bit 的值?我们可以看到实例化 Variables 并调用 test() 方法的包装代码吗?

关于java - 坚持使用 boolean 值总是返回 TRUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com