변수에 따라 다차원 배열을 채우는 방법

콜린

제가 작업중인 프로그램은 간단한 배송 프로그램입니다. 내가 어려움을 겪고있는 것은 특정 변수를 고려한 다차원 배열을 채우는 것입니다.

320 개의 품목은 다른 상자 크기를 사용하여 1 명의 수취인에게 발송되어야합니다.

  • XL은 50 개 항목을 수용 할 수 있습니다.
  • LG는 20 개 항목을 보관할 수 있습니다.
  • MD는 5 개 항목을 보관할 수 있습니다.
  • SM은 1 개 항목을 보관할 수 있습니다.

지금까지 가장 적은 수의 상자를 사용하십시오.

암호

이것은 지금까지 내 코드입니다.

import java.util.Scanner;

public class Shipping {
    public static void main(String [] args) {
        Scanner kbd = new Scanner(System.in);

        final int EXTRA_LARGE = 50;
        final int LARGE = 20;
        final int MEDIUM = 5;
        final int SMALL = 1;

        String sBusinessName = "";
        int iNumberOfGPS = 0;

        int iShipmentCount = 0;

        displayHeading(kbd);
        iShipmentCount = enterShipments(kbd);
        int[][] ai_NumberOfShipments = new int [iShipmentCount][4];
        String[] as_BusinessNames = new String [iShipmentCount];

        for (int iStepper = 0; iStepper < iShipmentCount; iStepper++) {
            sBusinessName = varifyBusinessName(kbd);
            as_BusinessNames[iStepper] = sBusinessName;
            iNumberOfGPS = varifyGPS(kbd);
            calculateBoxes(ai_NumberOfShipments[iStepper],iNumberOfGPS, EXTRA_LARGE, LARGE, MEDIUM, SMALL);
        }
        //showArray(as_BusinessNames);
    }

    public static void displayHeading(Scanner kbd) {
        System.out.println("Red River Electronics");
        System.out.println("Shipping System");
        System.out.println("---------------");

        return;
    }

    public static int enterShipments(Scanner kbd) {
        int iShipmentCount = 0;
        boolean bError = false;
        do {
            bError = false;
            System.out.print("How many shipments to enter? ");
            iShipmentCount = Integer.parseInt(kbd.nextLine());

            if (iShipmentCount < 1) {
                System.out.println("\n**Error** - Invalid number of shipments\n");
                bError = true;
            }
        } while (bError == true);

        return iShipmentCount;
    }

    public static String varifyBusinessName(Scanner kbd) {
        String sBusinessName = "", sValidName = "";
        do {
            System.out.print("Business Name: ");
            sBusinessName = kbd.nextLine();

            if (sBusinessName.length() == 0) {
                System.out.println("");
                System.out.println("**Error** - Name is required\n");
            } else if (sBusinessName.length() >= 1) {
                sValidName = sBusinessName;
            }
        } while (sValidName == "");

        return sValidName;
    }

    public static int varifyGPS(Scanner kbd) {
        int iCheckGPS = 0;
        int iValidGPS = 0;
        do {
            System.out.print("Enter the number of GPS receivers to ship: ");
            iCheckGPS = Integer.parseInt(kbd.nextLine());

            if (iCheckGPS < 1) {
                System.out.println("\n**Error** - Invalid number of shipments\n");
            } else if (iCheckGPS >= 1) {
                iValidGPS = iCheckGPS;
            }
        } while(iCheckGPS < 1);

        return iValidGPS;   
    }
    
    public static void calculateBoxes(int[] ai_ToFill, int iNumberOfGPS) {
        for (int iStepper = 0; iStepper < ai_ToFill.length; iStepper++)
    }

    //public static void showArray( String[] ai_ToShow) {
    //    for (int iStepper = 0; iStepper < ai_ToShow.length; iStepper++) {
    //        System.out.println("Integer at position " + iStepper + " is " + ai_ToShow[iStepper]);
    //    }
    //}
}
제이슨

calculateBoxes()각 상자의 볼륨을 나타내는 배열도 가져 오도록 정의를 변경하십시오 (귀하의 경우 {50, 20, 5, 1}).

public static void calculateBoxes(int[] ai_ToFill, int[] boxVolumes, int iNumberOfGPS) {
    // for each box size
    for (int iStepper = 0; iStepper < ai_ToFill.length; iStepper++) {
        // while the remaining items to pack is greater than the current box size
        while(iNumberOfGPS >= boxVolumes[iStepper]) {
            // increment the current box type
            ai_ToFill[iStepper]++;
            // subtract the items that just got packed
            iNumberOfGPS -= boxVolumes[iStepper];
        }
    }
}

이것을 계산하는 또 다른 방법 (while 루프 대신 / 및 % 사용)은 다음과 같습니다.

public static void calculateBoxes(int[] ai_ToFill, int[] boxVolumes, int iNumberOfGPS) {
    // for each box size
    for (int iStepper = 0; iStepper < ai_ToFill.length; iStepper++) {
        if(iNumberOfGPS >= boxVolumes[iStepper]) {
            // calculate the number of boxes that could be filled by the items
            ai_ToFill[iStepper] = iNumberOfGPS/boxVolumes[iStepper];
            // reset the count of items to the remainder
            iNumberOfGPS = iNumberOfGPS%boxVolumes[iStepper];
        }
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PHP에서 값으로 다차원 배열을 채우는 방법

분류에서Dev

JavaScript에서 다차원 배열을 다차원 개체에 채우는 방법은 무엇입니까?

분류에서Dev

조건에 따라 다차원 부분 배열 값을 복제하는 방법은 무엇입니까?

분류에서Dev

일부 조건에 따라 다차원 배열을 합하는 방법은 무엇입니까?

분류에서Dev

셀 값에 따라 다차원 배열을 포맷하는 방법은 무엇입니까?

분류에서Dev

JS에서 필요한 그룹 크기에 따라 1 차원 배열을 다차원 배열로 바꾸는 더 나은 방법

분류에서Dev

다차원 배열에서 값을 얻는 방법? PHP / 라 라벨

분류에서Dev

다차원 배열로 테이블을 채우는 방법

분류에서Dev

파이썬에서 방정식을 사용하여 다차원 배열을 채우는 방법

분류에서Dev

다른 다차원 배열 데이터 결과에 따라 다차원 배열 데이터를 검색하는 방법

분류에서Dev

크기가 다른 두 배열의 공유 차원을 따라 요소별로 곱하는 우아한 방법?

분류에서Dev

자바 스크립트에서 2 차원 배열을 사용하여 드롭 다운을 채우는 방법

분류에서Dev

AJAX : 다차원 배열에서 배열을 얻는 방법

분류에서Dev

다른 열과 관련된 조건에 따라 R의 열을 채우는 가장 좋은 방법

분류에서Dev

JavaScript에서 다차원 배열을 동적으로 채우는 방법은 무엇입니까?

분류에서Dev

다차원 정수 배열을 다차원 문자열 배열로 변환하는 방법

분류에서Dev

기존 변수에서 임의의 다차원 배열을 만드는 방법

분류에서Dev

투표에 따라 별 등급을 채우는 방법

분류에서Dev

버튼 클릭에 따라 테이블을 채우는 방법

분류에서Dev

PHP에서 다차원 배열 순열을 찾는 방법

분류에서Dev

플롯 라인 플롯을 채우고 값에 따라 채우기를 변경하는 방법

분류에서Dev

형식에 따라 DataFrame을 다차원 배열로 변환

분류에서Dev

PHP에서 다차원 배열을 1 차원 배열로 변환하는 방법은 무엇입니까?

분류에서Dev

배열을 다차원으로 변환하는 방법

분류에서Dev

셀 채우기 색상에 따라 셀 값을 변경하는 방법

분류에서Dev

URL 매개 변수에 따라 배열을 필터링하는 방법

분류에서Dev

ggplot2 : 채우기 변수의 비율에 따라 누적 막대 차트를 재정렬하는 방법

분류에서Dev

다차원 배열에서 중복 값을 뒤집는 방법

분류에서Dev

다차원 배열에서 빈 값을 제거하는 방법

Related 관련 기사

  1. 1

    PHP에서 값으로 다차원 배열을 채우는 방법

  2. 2

    JavaScript에서 다차원 배열을 다차원 개체에 채우는 방법은 무엇입니까?

  3. 3

    조건에 따라 다차원 부분 배열 값을 복제하는 방법은 무엇입니까?

  4. 4

    일부 조건에 따라 다차원 배열을 합하는 방법은 무엇입니까?

  5. 5

    셀 값에 따라 다차원 배열을 포맷하는 방법은 무엇입니까?

  6. 6

    JS에서 필요한 그룹 크기에 따라 1 차원 배열을 다차원 배열로 바꾸는 더 나은 방법

  7. 7

    다차원 배열에서 값을 얻는 방법? PHP / 라 라벨

  8. 8

    다차원 배열로 테이블을 채우는 방법

  9. 9

    파이썬에서 방정식을 사용하여 다차원 배열을 채우는 방법

  10. 10

    다른 다차원 배열 데이터 결과에 따라 다차원 배열 데이터를 검색하는 방법

  11. 11

    크기가 다른 두 배열의 공유 차원을 따라 요소별로 곱하는 우아한 방법?

  12. 12

    자바 스크립트에서 2 차원 배열을 사용하여 드롭 다운을 채우는 방법

  13. 13

    AJAX : 다차원 배열에서 배열을 얻는 방법

  14. 14

    다른 열과 관련된 조건에 따라 R의 열을 채우는 가장 좋은 방법

  15. 15

    JavaScript에서 다차원 배열을 동적으로 채우는 방법은 무엇입니까?

  16. 16

    다차원 정수 배열을 다차원 문자열 배열로 변환하는 방법

  17. 17

    기존 변수에서 임의의 다차원 배열을 만드는 방법

  18. 18

    투표에 따라 별 등급을 채우는 방법

  19. 19

    버튼 클릭에 따라 테이블을 채우는 방법

  20. 20

    PHP에서 다차원 배열 순열을 찾는 방법

  21. 21

    플롯 라인 플롯을 채우고 값에 따라 채우기를 변경하는 방법

  22. 22

    형식에 따라 DataFrame을 다차원 배열로 변환

  23. 23

    PHP에서 다차원 배열을 1 차원 배열로 변환하는 방법은 무엇입니까?

  24. 24

    배열을 다차원으로 변환하는 방법

  25. 25

    셀 채우기 색상에 따라 셀 값을 변경하는 방법

  26. 26

    URL 매개 변수에 따라 배열을 필터링하는 방법

  27. 27

    ggplot2 : 채우기 변수의 비율에 따라 누적 막대 차트를 재정렬하는 방법

  28. 28

    다차원 배열에서 중복 값을 뒤집는 방법

  29. 29

    다차원 배열에서 빈 값을 제거하는 방법

뜨겁다태그

보관