我遇到以下问题时遇到轻微困难.
我初始化了一个名为numberArray的布尔数组,其中包含31个索引.用户应该在1到30之间输入5位数,并且每次输入数字时,程序应该将正确的索引设置为true.例如,如果我输入5则:
numberArray [5] = true;
但是,如果用户第二次输入值5,则应该向用户发出已经输入该号码的消息,因此用户必须选择不同的值.我试图创建一个循环如下:
public void enterArrayValues() {
for(int i = 1; i < 6; i++) {
System.out.print("Give " + i + ". number: ");
int enteredNumber = input.nextInt();
while (numberArray[enteredNumber] = true) {
System.out.println("This number has already been chosen.");
System.out.print("Give " + i + ". number again: ");
enteredNumber = input.nextInt();
}
numberArray[enteredNumber] = true;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我运行程序时,无论我输入什么,我都会自动收到消息"已经选择了数字".即使是我第一次输入数字.我不懂.默认情况下,布尔数组中的所有值都不是false吗?
如果有人能帮助我,我将不胜感激!
好吧,伙计们说我正在做这个查询:
SELECT `category_id`, `category_name`
FROM `database_categorys`
ORDER BY `category_name` ASC
Run Code Online (Sandbox Code Playgroud)
现在我想计算名为"database_items"的表中的所有行,其中item表的类别id等于当前行类别id.
我正在猜测某种连接或嵌套查询,但我不能用正确的语法来解决这个问题.
因此,当它回应时,我可以这样做:
<category name> <total items in category number>
Run Code Online (Sandbox Code Playgroud) 我认为没有区别,但后来我遇到了这个:
public class Whatever
{
String toString()
{
//stuff
}
}
Run Code Online (Sandbox Code Playgroud)
此代码导致编译器错误:
toString()在Whatever不能覆盖toString()在java.lang.Object; 试图分配较弱的访问权限; 是public
如果我明确键入public String toString()代码编译就好了.
简单的问题,我只是想知道在循环中递归调用方法是否被认为是糟糕的风格.我知道人们因为时间和空间的成本而存在递归问题,所以我认为循环和重复会被认为更加低效和昂贵.
我想在java中使用pre-argument运行一个exe.例如,如果在命令提示符中执行此操作.
C:\> installutil myApp.exe
Run Code Online (Sandbox Code Playgroud)
installutil是myApp.exe的预参数(或命令).这与将正常参数传递给Runtime.getRuntime().exec()或不同Process.start();
谢谢.