首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果company_name函数是getcompanyname(),如何打印以字母a开头的company_name

如果company_name函数是getcompanyname(),如何打印以字母a开头的company_name
EN

Stack Overflow用户
提问于 2022-04-28 04:51:13
回答 1查看 39关注 0票数 0
代码语言:javascript
复制
public class YellowPages {
  //company array

  public Company[] save() {
    Company[] com = new Company[5];
    com[0] = new Company("abc", 123, "abc@gmail.com", 57839174, "abc.com", City.THRISSUR);
    com[1] = new Company("cde", 456, "cde@gmail.com", 47578317, "cde.com", City.TRIVANDRUM);
    com[2] = new Company("fgh", 789, "fgh@gmail.com", 82239129, "fgh.com", City.KOCHI);
    com[3] = new Company("ijk", 127, "ijk@gmail.com", 45758379, "ijk.com", City.KOZHIKODE);
    com[4] = new Company("lmn", 845, "lmn@gmail.com", 65893948, "lmn.com", City.KODUNGALLUR);

    return com;

  }
  //code to print all companies
  public void showData() {
    save();
    Company[] com = save();

    for (int i = 0; i < com.length; i++) {
      System.out.println(com[i].toString());
    }
  }
  //code to compare company_name

  public void comparecompany() {
    save();
    Company[] com = save();

    String a = "lmn";
    boolean found = false;
    for (int i = 0; i < com.length; i++) {
      String b = a.toLowerCase();

      if (com[i].getcompanyname().equals(b)) {
        System.out.println("company exist");
        found = true;
        break;
      }
    }
    if (found == false)
      System.out.println("company doesnt exist");

  }
  //code to find the string company_name which starts with a

  public void starta() {
    save();
    Company[] com = save();
    //show names containing the letter starting as the first letter

    for (int i = 0; i < com.length; i++) {
      String comp = com[i].getcompanyname();
      for (String i1: comp) {
        if (i1.startsWith("a")) System.out.println(i1);
      }
    }
  }
//to print employees in a company
public void empcompany() {
        save();
        Company[] com = save();
        saves();
        Employee[]emp=saves();
        String comp="abc";
        boolean found=false;
        for(int i=0;i<com.length;i++) {
            for(int j=0;j<emp.length;j++) {
            String coms=com[i].getcompanyname();
            String empd=emp[j].getempName();
            Company cos=emp[j].getcompany();
            if(com[i].getcompanyname().equals(empd)) {
                System.out.println(comp+" has "+empd+" as employees");
        }
            }
        }}
    //employee array
    public Employee[] saves() {
        save();
        Company[] com=save();
        Employee []emp=new Employee[5];
        emp[0]=new Employee(321,"rahul","manager","Male",907374383,City.KODUNGALLUR,com[0]);
        emp[1]=new Employee(654,"akhil","assistant manager","Male",703845983,City.KOZHIKODE,com[1]);
        emp[2]=new Employee(987,"mithun","supervisor","Male",598339834,City.KOCHI,com[2]);
        emp[3]=new Employee(721,"visakh","assistant supervisor","Male",339835300,City.TRIVANDRUM,com[3]);
        emp[4]=new Employee(548,"sharma","trainee","Male",545348945,City.THRISSUR,com[4]);
        return emp;
    }
    //to print all employees
    public void showDatas() {
        saves();
        Employee[] emp=saves();
        for(int i=0;i<emp.length;i++) {
            System.out.println(emp[i].toString());
        }
        
    }
}

最后一个函数starta()应该打印以A开头的company_name,我已经将comi.getcompanynamefunction作为字符串提供给变量comp。

它应该以公司名称的形式打印输出。这是显示的错误

线程“主”java.lang.Error中的异常:未解决的编译问题:只能在数组或java.lang.Iterable实例上迭代

代码语言:javascript
复制
at com.aitrich.yellowpages.YellowPages.starta(YellowPages.java:53)
at com.aitrich.yellowpages.Main.main(Main.java:14)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-28 05:18:02

之所以发生这种情况,是因为您试图在字符串comp上运行for循环,其中for循环仅用于数组或可迭代。尝试使用下面的代码,它应该可以工作。

代码语言:javascript
复制
package com.practice;

public class TestCompany {

    public static void main(String[] args) {
        new TestCompany().starta();

    }

    public void comparecompany() {
        Company[] com = save();

        String a = "lmn";
        boolean found = false;
        for (int i = 0; i < com.length; i++) {
            String b = a.toLowerCase();

            if (com[i].getcompanyName().equals(b)) {
                System.out.println("company exist");
                found = true;
                break;
            }
        }
        if (found == false)
            System.out.println("company doesnt exist");

    }
    // code to find the string company_name which starts with a

    private Company[] save() {
        Company[] companies = new Company[5];
        companies[0] = new Company("abc");
        companies[1] = new Company("def");
        companies[2] = new Company("ghi");
        companies[3] = new Company("jkl");
        companies[4] = new Company("ijk");
        return companies;

    }

    public void starta() {
        Company[] com = save();
        // show names containing the letter starting as the first letter

        for (int i = 0; i < com.length; i++) {
            String comp = (String) com[i].getcompanyName();
            if (comp.startsWith("a"))
                System.out.println(comp);
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72038186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档