gpt4 book ai didi

java - getter 和 setter 方法无法正常工作

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

在我发布的这个程序中,当我调用(setter 函数)时,即。主函数中的 obj.setsize(res) 无法将(“contact_entry”类中声明的变量“size”)private int size=2 的值更改为 size=1。

当我调用(getter 函数)时,该值仍为 2。主程序中的 obj.getsize() ,在 if(obj.getsize()>0). 调用 set 方法时,应该将变量“size 为 1”的值设置为 1,但无法修改该值和“大小保持不变”的值。

请告诉我问题,我将不胜感激。

    import javax.swing.JOptionPane;
public class nokia {

public static void main(String[] args)
{
int itr=0;

while(itr==JOptionPane.YES_OPTION)
{
String s3=JOptionPane.showInputDialog("Enter your option\nEnter 1 to add contact\nEnter 2 to delete contact\nEnter 3 to display contact" +
"\nEnter 4 to search a contact detail\nEnter 5 to exit");
switch(s3)
{
case "1":
{
contact_entry obj=new contact_entry();
if(obj.getsize()>0)
{
obj.add_contact();
int res=obj.getsize()-1;
obj.setsize(res);
}
else
JOptionPane.showMessageDialog(null, "MEMORY FULL....NO MORE CONTACTS CAN BE ADDED");
break;
}

case "2":
}

}
}

}

class contact_entry
{
private String fst_nme;
private String lst_nme;
private long [] mo_no=new long[3];
private int[] hme_no=new int[3];
private int size=2;

public contact_entry()
{
fst_nme="ron";
lst_nme="capton";
mo_no[0]=mo_no[1]=mo_no[2]=0;
hme_no[0]=hme_no[1]=hme_no[2]=0;

}

public void add_contact()
{
fst_nme=JOptionPane.showInputDialog("Enter the first name: ");
lst_nme=JOptionPane.showInputDialog("Enter last name: ");

int itr=0,itr1=0;
for(int i=0;itr==JOptionPane.YES_OPTION;i++)
{
if (i>2)
{
JOptionPane.showMessageDialog(null,"NO MORE MOBILE NUMBER CAN BE ADDED...MEMORY FULL");
break;
}
String s1=JOptionPane.showInputDialog("Enter mobile number: ");
mo_no[i]=Long.parseLong(s1);
itr=JOptionPane.showConfirmDialog(null, "Do you want to add addtional contact number");

}

for(int i=0;itr1==JOptionPane.YES_OPTION ;i++)
{
if(i>2)
{
JOptionPane.showMessageDialog(null, "NO MORE PHONE NUMBER CAN BE ADDED....MEMORY FULL");
break;
}
String s2=JOptionPane.showInputDialog("Enter phone number: ");
hme_no[i]=Integer.parseInt(s2);
itr1=JOptionPane.showConfirmDialog(null, "DO you want to add more contact number");

}
}

public void display()
{
String output= "First Name: "+fst_nme+"\nLast name: "+lst_nme+"\nmobile number1: "+mo_no[0]+"\nmobile number2: "+mo_no[1]+
"\nmobile number3: "+mo_no[2]+"\nphone number1: "+hme_no[0]+"\nphone number2: "+hme_no[1]+"\nphone number3: "+hme_no[2];
JOptionPane.showMessageDialog(null, output);
}

public int getsize()
{
JOptionPane.showMessageDialog(null, size);
return size;
}

public void setsize(int size1)
{
this.size=size1;
JOptionPane.showMessageDialog(null, size);
}
}

最佳答案

我无法用您的代码重现此内容。注释掉 add_contact (因为它不相关)我看到三个对话框:

  • 2(第一次调用 getsize())
  • 2(第二次调用 getsize())
  • 1(调用setsize())

所以它size的值设置为1。

请注意,当您循环并创建一个 contact_entry 实例时,其大小将为 2...这让您感到困惑吗?

(顺便说一句,您应该确实尝试遵循 Java 命名约定。目前您的代码非常不惯用。)

关于java - getter 和 setter 方法无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10828965/

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