Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编辑(严厉地评判):我的display()方法赢了';t显示和I';我不知道为什么_Java_Arrays_Getter Setter_Arrayobject - Fatal编程技术网

Java 编辑(严厉地评判):我的display()方法赢了';t显示和I';我不知道为什么

Java 编辑(严厉地评判):我的display()方法赢了';t显示和I';我不知道为什么,java,arrays,getter-setter,arrayobject,Java,Arrays,Getter Setter,Arrayobject,我最近发布了一个关于display()方法只显示某些对象的问题,并且通过我之前收到的一些关于toString()方法的反馈来纠正这个问题。但是,我必须将idNum更改为int,现在我的displayMethod()将根本不显示。我试图回溯我的脚步,但不确定发生了什么 应该包含标识号、销售额和人员姓名的对象数组。但是,当我显示阵列时,没有显示任何内容。我尝试了for循环,增强了for循环,并尝试了调用get()方法的system.out.print 我不知道这是否与我的displayDatabas

我最近发布了一个关于display()方法只显示某些对象的问题,并且通过我之前收到的一些关于toString()方法的反馈来纠正这个问题。但是,我必须将idNum更改为int,现在我的displayMethod()将根本不显示。我试图回溯我的脚步,但不确定发生了什么

应该包含标识号、销售额和人员姓名的对象数组。但是,当我显示阵列时,没有显示任何内容。我尝试了for循环,增强了for循环,并尝试了调用get()方法的system.out.print

我不知道这是否与我的displayDatabase()方法、我使用Scanner变量(USER_INPUT)设置输入数据的方式有关,或者与我的构造函数有关

我的构造函数如下所示:

==================================================

 public class Salesperson 
   {
   private String salesName;
   private int salesID;
   private double annualSales; 

   public Salesperson(String salesName, int salesIDNum, double yearlySales)
   {
       this.salesName = salesName;
       salesID = salesIDNum;
       annualSales = yearlySales;
   }

   public String getSalesName()
   {
       return salesName;
   } 
   public void setSalesName(String salesName)
   {
       this.salesName = salesName;
   }
   public double getSalesID()
   {
       return salesID;
   }      
   public void setSalesID(int salesIDNum)
   {
       salesID = salesIDNum;
   }
   public double getAnnualSales()
   {
       return annualSales;
   }
   public void setAnnualSales(double yearlySales)
   {
       annualSales = yearlySales;
   }
   @Override
   public String toString()
   {
       return String.format("%s-%-10s%-10.2f", salesName,
                salesID, annualSales);
    } 
}
我的应用程序代码如下所示:
导入java.util.array;
导入java.util.Scanner;
公开课销售员
{
专用静态最终扫描仪用户输入=新扫描仪(System.in);
私有静态最终整数上限大小限制=20;
私有静态最终整数下限大小限制=0;
私有静态销售人员[]销售人员数据库=新建
销售人员[20];
私有静态int numOfSalesPpl=0;
私有静态布尔循环=true;
公共静态void main(字符串[]args)
{
字符串选择;
选择=编程菜单();
字符串响应;
while(循环)
开关(选择)
{
案例“A”:
if(numOfSalesPpl==上限大小)
{
System.out.print(“数据库已达到容量”);
系统输出打印(“请删除之前的记录”);
System.out.println(“添加到数据库中”);
}
其他的
{
addRecord();
}
打破
案例“a”:
if(numOfSalesPpl==上限大小)
{
System.out.print(“数据库已达到容量”);
系统输出打印(“请删除之前的记录”);
System.out.println(“添加到数据库中”);
}
其他的
{
addRecord();
}
打破
案例“C”:
if(numOfSalesPpl==下限大小)
{
System.out.print(“数据库为空”);
系统输出打印(“请添加记录”);
}
其他的
{
changecord();
}
打破
案例“c”:
if(numOfSalesPpl==下限大小)
{
System.out.print(“数据库为空”);
系统输出打印(“请添加记录”);
}
其他的
{
changecord();
}
打破
案例“E”:
System.out.print(“您正在离开数据库”);
循环=假;
打破
案例“e”:
System.out.print(“您正在离开数据库”);
循环=假;
打破
}
}
公共静态无效更改记录()
{
字符串idNum;
字符串salesName;
双倍销售额;
字符串响应;
系统输出打印(“输入销售标识:”);
idNum=USER_INPUT.nextLine();
if(isValidID(idNum))
{   
int searchResult=Arrays.binarySearch(salesstaffinandabase,idNum);
System.out.println(SalesStaffinandabase[searchResult]);
}
其他的
{
System.out.println(“无效销售ID”);
}
}
公共静态布尔值isValidID(字符串idNum)
{
布尔值isValid=false;
for(int val=0;val8);
系统输出打印(“名称:”);
salesName=USER_INPUT.nextLine();
用户_INPUT.nextLine();
系统输出打印(“销售金额:”);
salesAmount=Double.parseDouble(USER_INPUT.nextLine());
SalesStaffinandabase[numOfSalesPpl]=新建
销售人员(salesName、idNum、salesAmount);
salesStaffInDatabase[numOfSalesPpl].setSalesName(salesName);
salesStaffInDatabase[numOfSalesPpl].setSalesID(idNum);
SalesStaffinandabase[numOfSalesPpl].setAnnualSales(销售额);
System.out.print(“是否显示数据库Y/N?”:”;
response=USER_INPUT.nextLine();
while(回应)
And my code for application looks like this:

    import java.util.Arrays;  
    import java.util.Scanner;
     public class CreateSalesperson 
     {
       private static final Scanner USER_INPUT = new Scanner(System.in);
       private static final int UPPER_SIZE_LIMIT = 20;
       private static final int LOWER_SIZE_LIMIT = 0;
       private static Salesperson[] salesStaffInDatabase = new 
      Salesperson[20];
       private static int numOfSalesPpl = 0;
       private static boolean loop = true;    
       public static void main(String[] args)
      {
       String selection;
       selection = programMenu();
       String response;

            while(loop)  
              switch(selection)
              {
                  case "A":
                      if(numOfSalesPpl == UPPER_SIZE_LIMIT)
                      {
                        System.out.print("Database has reached capacity.");
                        System.out.print(" Please delete a record before ");
                        System.out.println("adding to the database.");
                      }
                      else
                      {
                        addRecord();      
                      }
                      break;
                  case "a":
                      if(numOfSalesPpl == UPPER_SIZE_LIMIT)
                      {
                        System.out.print("Database has reached capacity.");
                        System.out.print(" Please delete a record before ");
                        System.out.println("adding to the database.");
                      }
                      else
                      {
                        addRecord();      
                      }
                      break;
                    case "C":
                      if(numOfSalesPpl == LOWER_SIZE_LIMIT)
                      {
                        System.out.print("Database is empty. ");
                        System.out.print("Please add a record."); 
                      }
                      else
                      {
                        changeRecord();      
                      }
                      break;
                    case "c":
                      if(numOfSalesPpl == LOWER_SIZE_LIMIT)
                      {
                        System.out.print("Database is empty. ");
                        System.out.print("Please add a record."); 
                      }
                      else
                      {
                        changeRecord();      
                      }
                      break;
                    case "E":
                    System.out.print("You Are Leaving Database");
                    loop = false;
                    break;
                    case "e":
                    System.out.print("You Are Leaving Database");
                    loop = false;
                    break;
                }
                }

      public static void changeRecord()
        {
            String idNum;
            String salesName;
            double salesAmount;
            String response;

            System.out.print("Enter Sales ID: ");
            idNum = USER_INPUT.nextLine();        
            if(isValidID(idNum))

            {   
            int searchResult = Arrays.binarySearch(salesStaffInDatabase, idNum);
            System.out.println(salesStaffInDatabase[searchResult]);
            }
            else
            {
                System.out.println("Invalid Sales ID");
            }
        }
     public static boolean isValidID(String idNum)
     {
     boolean isValid= false;
     for(int val = 0;val < numOfSalesPpl && !isValid; ++val)
     {
         if(salesStaffInDatabase[val].equals(idNum))
                 {
                   isValid = true;  
                 }
     }
     return isValid;
     }     
     public static void addRecord()
     {
        int idNum;
        String salesName;
        double salesAmount;
        String idNo;
        String response;

       do
       {
        System.out.print("Please enter sales ID: ");
        idNum = USER_INPUT.nextInt();
        idNo = Integer.toString(idNum);
        if(idNo.length() != 8)

           System.out.println("Sales ID must be 8 digits long: ");

       }
       while(idNo.length() < 8 || idNo.length() > 8);

        System.out.print("Name: ");
        salesName = USER_INPUT.nextLine();
        USER_INPUT.nextLine();
        System.out.print("Sales Amount: ");
        salesAmount = Double.parseDouble(USER_INPUT.nextLine());
        salesStaffInDatabase[numOfSalesPpl] = new 
     Salesperson(salesName,idNum,salesAmount);

        salesStaffInDatabase[numOfSalesPpl].setSalesName(salesName);
        salesStaffInDatabase[numOfSalesPpl].setSalesID(idNum);
        salesStaffInDatabase[numOfSalesPpl].setAnnualSales(salesAmount);



        System.out.print("Do you want to display database Y/N?: ");
        response = USER_INPUT.nextLine();
        while(response.equalsIgnoreCase("Y")||response.equalsIgnoreCase("yes"))
        {
          displayDatabase();
        }
    } 

    public static void displayDatabase()
    {

        for(int val=0;val < numOfSalesPpl; val++)
        {
              System.out.println(salesStaffInDatabase[val]);
        }

    }    
    public static String programMenu()
    {
    String selection;
     do
        {

         System.out.println("(A)dd a Record");
         System.out.println("(C)hange a Record");
         System.out.println("(E)xit Database"); 
         System.out.print("Enter selection: ");
         selection = USER_INPUT.nextLine();
        }
        while(!selection.equalsIgnoreCase("a") && 
    !selection.equalsIgnoreCase("c")
        && !selection.equalsIgnoreCase("e"));
        return selection;
    }
    }
      @Override
public String toString() {
    return "Salesperson{" +
            "salesFirstName='" + salesFirstName + '\'' +
            ", salesLastName='" + salesLastName + '\'' +
            ", salesID='" + salesID + '\'' +
            ", annualSales=" + String.format("%-10.2f",  annualSales)+
            '}';
}
@Override public String toString() {
    return String.format("%s - %-10s%-10.2f", salesFirstName, salesID, annualSales);
}