gpt4 book ai didi

Java - 我的代码不会向类属性返回任何非空值

转载 作者:行者123 更新时间:2023-12-02 02:37:21 25 4
gpt4 key购买 nike

我正在编写一些 Java 代码作为个人项目,并且一直通过在线资源从一开始就学习它(我以前有过一些编程经验,但我相信我对自己的编程不是很有信心)技能)。到目前为止,它运行良好,但我无法使代码向类属性返回任何非空值。我正在使用 IntelliJ IDEA IDE,并且方法会突出显示,IDE 告诉我“从不使用该方法的返回值”。下面是我关心的代码部分之一,因为它没有返回括号中参数内的任何值:

public int pocketNumber(int userQu) {

// do {
System.out.print("Please select the number of pockets you want to work with: ");
Scanner qu = new Scanner(System.in);
userQu = qu.nextInt();

if (userQu > 7 || userQu < 1) {
System.out.println("Sorry, that is not a valid number of pockets. ");

} else {
System.out.println("You have chosen " + userQu + " pockets to work with. ");
return userQu;
// break;
} // once this complete, values erased.
// } while (repeat == 1);

return userQu;
}

这是在 public static class topClothing 中,我尝试在 main 中将其与此类中的变量一起使用:public int maxquantityPockets;,后者的值由同一类中的数组的新实例根据其长度使用。

我想让代码循环,但我在某处发现,由于 Java 的自动内存管理系统,我相信使用循环会阻止 userQu 从方法和 return 语句,因此需要我用相同的值初始化另一个 int 变量,导致该值丢失:Deleting a class object in java

到目前为止,我还不知道如何覆盖它,我推测这就是问题所在,即内存管理如何成为此代码不返回方法内处理的值的问题。

这是我一直在编写的完整代码:https://pastebin.com/0ALgUWuU

编辑:我相信我可能在 managePockets 下犯了一些错误,因为没有将适当的代码放在 else 条件下。代码固定在这里:https://pastebin.com/cU18r7Ae 。这让我知道 maxquantityPockets 如何保持不变。

最佳答案

有一些事情没有意义。首先,将 userQu 作为函数的参数,然后将 userQu 重新分配给用户输入。要么不接受此函数中的输入,要么删除参数参数。除此之外,代码肯定会返回一个整数,也许你的IDE说你没有使用返回的内容,但肯定会返回一个int

至于内存管理,一切都会自动处理,所以不用担心。你可以很好地使用你的循环,也许可以在 userQu 小于 0 或大于 7 时执行类似 do 的操作。但是,一旦你返回,该循环就会终止,并且你必须在循环之前初始化 userQu 才能执行此操作。

关于Java - 我的代码不会向类属性返回任何非空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46077780/

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