我正在开发可转换货币的应用程序。我需要它,以便用户可以输入金额,然后选择一个按钮,该按钮上将具有特定的物料,然后用户将单击另一个按钮以将其转换为另一种物料。例如,铜转化为银。但是当我由于某种原因单击“计算”按钮运行该程序时,屏幕上没有任何反应,也没有出现错误。是因为我正在使用&&还是其他东西,我对为什么它不起作用感到非常困惑。这是我的代码:
char buffer[64]
len = strlen(buffer);
if(len < BUFFERSIZE)
{
gen_hmac_sha256(global_eid, (unsigned char *) buffer, len + 1);
get_hmac_sha256(global_eid, hmac_sha256_out, HMAC_SHA256_LEN);
printf("App.cpp: hmac sha256 hash: ");
char *buffer2 = print_bits(hmac_sha256_out, 32);
printf("\n");
send(new_sock, buffer2, 64, 0);
}
答案 0 :(得分:1)
&&
的意思和-因此必须同时按下两个按钮才能使if
评估为真吗?不确定这是否是您想要的。
答案 1 :(得分:0)
当试图弄清楚代码中出了什么问题时,可以在IDE中使用print语句或调试选项逐行浏览代码,以查看问题出在哪里。
我在代码中添加了两个打印语句,以显示是否按下了btCopper1和btSilver2,另一个打印语句显示了将调用btCalculate()方法。如果根本没有任何内容打印到控制台窗口,则您甚至都没有到达onClick()方法,并且在您发布的那部分代码之前出现了其他问题。
btCalculate.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
System.out.println("btCopper1="+btCopper1.isPressed() + " btSilver2="+btSilver2.isPressed());
int convert = Integer.parseInt(editText.getText().toString());
if (btCopper1.isPressed() && btSilver2.isPressed()){
System.out.println("btCalculate is called");
btCalculate.setText(convert);
}
}
});