gpt4 book ai didi

java - 需要帮助为该 Java 程序开发正确的打印方法

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

该程序从用户输入中获取整数并将它们放入一个集合中。然后它首先打印正值,然后打印负值,并且不打印重复的数字。一旦用户输入 0,它就会停止要求输入。代码如下:

public class Intcoll2
{
private int[] c;
private int[] d;
private int howmany = 0;

public Intcoll2()
{
c = new int[500];
}

public Intcoll2(int i)
{
c = new int[i]
}

public void insert(int i)
{
if (i > 0)
{
int j = 0;
while ((j <= howmany) && (c[j] != i)) j++;
if (j == howmany)
{
if (j == c.length - 1)
{
d = new int[2*c.length];
for (int k = 0; k<c.length; i++){
d[k] = c[k];
}
c = d;
}
c[j] = i; c[j + 1] = 0;
}
howmany++;
}
}

public int get_howmany()
{
int j=0, howmany=0;

while (c[j]!=0) {howmany++; j++;}
return howmany;
}

现在我当前的打印方法如下所示:

   public void print()
{
int j = 0;
System.out.println();
while (j <= howmany)
{
System.out.println(c[j]); j++;
}
}

但是当我尝试在客户端中使用它时,它只打印出零。任何有关我做错的事情的帮助将不胜感激。

最佳答案

您可能没有寻找的答案,但仍然是您应该关心的唯一真实答案。

您的问题不在于该代码中的某个位置隐藏了错误。问题是您的代码令人困惑超出了限制:

  • 不要使用单字符变量名。
  • 采用 int ... 的构造函数创建一个数组!
  • 使用数组时不要说“集合”。
  • 不要为字段和局部变量指定相同名称。

说真的:理解这个困惑主要是复杂和困难的,因为你编写的代码难以阅读。

现在你要求其他人调试如此复杂的代码,而你(创建它的作者!)一开始并不理解。

相反,你可能会把这整件事扔掉。然后再慢慢写;但以一种不会让读者感到困惑的方式。

关于java - 需要帮助为该 Java 程序开发正确的打印方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39438058/

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