мне нужно найти экземпляр атрибута, что объект находится в массиве - PullRequest
0 голосов
/ 12 ноября 2018

Я не знаю, как найти интонацию Motorola в массиве клиентов, который в мгновение ока. Упражнение таково: Имя и идентификация первого клиента в Motorola Celphone. Может быть, мне нужно условие типа if или некоторое время в случае 2, но я не знаю, как это сделать. Опять извините за мой английский, спасибо !!!

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 Ответ

0 голосов
/ 14 ноября 2018

Можно иметь boolean motorola = false, а внутрь case 2 положить

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

Или после того, как у вас есть все клиенты:

Каждый раз, когда клиент покупает телефон, его информация сохраняется в массиве клиентов. Это хранится в хронологическом порядке, поэтому первый парень, купивший Motorola, будет раньше, чем следующий, купивший тот же телефон. Тогда вам нужно всего лишь перебрать массив клиентов и напечатать первого клиента, который купил Motorola.

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

Также попробуйте написать код на английском языке как соглашение. Я уверен, что вы не хотите читать код, напечатанный на китайском языке .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...