有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我需要找到一个属性的实例,该属性将对象放入一个数组中

我不知道我是如何在众多客户中找到intance Motorola的,而这些客户正处于一个快速发展的时期。练习是这样的:购买摩托罗拉手机的第一位客户的姓名和身份。也许我需要一个条件,比如在案例2中的if或一段时间,但我不知道怎么做。再次为我的英语道歉,谢谢

package principal1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import recursos.Cliente;

public class Principal1 {

    public static void main(String[] args) {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        int opc = 0;
        double ventasLG = 0.0;
        int ventasKyocera = 0;
        String nombre = "";
        Cliente clientes[] = new Cliente[5];

        for (int i = 0; i < clientes.length; i++) {

            clientes[i] = new Cliente(nombre);

            String marcaCelular = "";
            int celular = 0;

            System.out.println("Ingrese marca del celular:\n1.-Nokia\n2.-Motorola" + "\n3.-LG\n4.-Kyocera");
            celular = Integer.parseInt(in.readLine());
            switch (celular) {
            case 1:
                clientes[i].setMarcaCelular("Nokia");
                System.out.println("Ingrese nombre del cliente");
                nombre = in.readLine();
                System.out.println("Ingrese cedula de identidad");
                int cedulaIdentidad = Integer.parseInt(in.readLine());
                System.out.println("Ingrese precio del celular");
                int precioCelular = Integer.parseInt(in.readLine());
                clientes[i] = new Cliente(nombre, cedulaIdentidad, marcaCelular, precioCelular);
                break;
            case 2:
                clientes[i].setMarcaCelular("Motorola");
                System.out.println("Ingrese nombre del cliente");
                nombre = in.readLine();
                System.out.println("Ingrese cedula de identidad");
                cedulaIdentidad = Integer.parseInt(in.readLine());
                System.out.println("Ingrese precio del celular");
                precioCelular = Integer.parseInt(in.readLine());
                clientes[i] = new Cliente(nombre, cedulaIdentidad, marcaCelular, precioCelular);

                break;
            case 3:
                clientes[i].setMarcaCelular("LG");
                System.out.println("Ingrese nombre del cliente");
                nombre = in.readLine();
                System.out.println("Ingrese cedula de identidad");
                cedulaIdentidad = Integer.parseInt(in.readLine());
                System.out.println("Ingrese precio del celular");
                precioCelular = Integer.parseInt(in.readLine());
                clientes[i] = new Cliente(nombre, cedulaIdentidad, marcaCelular, precioCelular);
                // 2
                ventasLG++;
                break;
            case 4:
                clientes[i].setMarcaCelular("Kyocera");
                System.out.println("Ingrese nombre del cliente");
                nombre = in.readLine();
                System.out.println("Ingrese cedula de identidad");
                cedulaIdentidad = Integer.parseInt(in.readLine());
                System.out.println("Ingrese precio del celular");
                precioCelular = Integer.parseInt(in.readLine());
                if (precioCelular >= 300000) {
                    ventasKyocera++;
                }
                clientes[i] = new Cliente(nombre, cedulaIdentidad, marcaCelular, precioCelular);
                break;
            default:
                System.out.println("Opcion incorrecta");
            }
        }
    }
}

共 (1) 个答案

  1. # 1 楼答案

    你可以有一个boolean motorola = false,在case 2里面放一个

    if(!motorola) {
        System.out.println("print first Motorola client ...");
        motorola = true;
    }
    

    或者在您拥有所有客户之后:

    每次客户购买手机时,他的信息都保存在客户阵列中。这是按时间顺序存储的,所以第一个买摩托罗拉手机的人会先于下一个买同一部手机的人。然后,您只需迭代客户数组并打印购买摩托罗拉的第一个客户

    for(int i = 0; i < clientes.length; i++) {
        if(clientes[i].getMarcaCelular().equals("Motorola")){
            System.out.println(
                clientes[i].getNombre() + " , " + 
                clientes[i].getCedulaIdentidad()
            );
            break;
        }
    }
    

    此外,作为惯例,尝试用英语编写代码。我肯定你不想读Chinese typed code