Please enable JavaScript in your browser to load website properly.

Click here if you'd like to learn how. 자바 프로그래밍 배열값 랜덤으로 생성하는건데요 : 컴퓨터 - 와이고수
기록실
채팅 0
게임 0
유물

자바 프로그래밍 배열값 랜덤으로 생성하는건데요 [5]

탈퇴한 회원입니다
2019-12-02 17:37:21 (6년 전) / READ : 215

    package javaprac;


    import java.util.*;


    public class hello {

    public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    ArrayList<String> cardShape = new ArrayList<String>();

    ArrayList<String> cardNum = new ArrayList<String>();

    String shape []  = { "DIA","CLOVER","HEART","SPADE"};

    String num [] = { "2","3","4","5","6","7","8","9","10","j","q","k","ace"}; 

      

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

    cardShape.add(shape[i]);

    }

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

    cardNum.add(num[i]);

    }

    double randomValue = Math.random();

    int shaperan = (int)(randomValue * cardShape.size()) -1;

    int numran = (int)(randomValue * cardNum.size())-1;

    String get_Shape = cardShape.get(shaperan);

    String get_Num = cardNum.get(numran);

    System.out.println(get_Shape+"의 모양과" + get_Num+"의 숫자");

    }

    }

     

    이렇게 실행하면 어쩔때 결과값 제대로 나오는데 어쩔데 배열인덱스 오류가 나는데 왜 오류가나는건가요

    인덱스 값 설정 잘한거같은데 

    도움 부탁드립니다.

     

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1

    at java.util.ArrayList.elementData(ArrayList.java:422)

    at java.util.ArrayList.get(ArrayList.java:435)

    at javaprac.hello.main(hello.java:28)

    이게 오류 내용이에요


    신고
    • 댓글이 5 개 달렸습니다.
    • 6년 전
      Math.random()이 0에서 1 사이의 실수를 반환하는데
      만약 반환된 값이 0.1이라고 치면 shaperan은 (int)(0.1 * 4) - 1니까 -1이 되어버림
      그리고 배열의 -1 위치에 있는 값을 가져오려고 하니 ArrayIndexOutOfBoundsException 오류가 뜨는 거
    • 6년 전
      -1 값에 대해 배열 인덱스 범위 오류,
      hello.java의 28번째 줄 코드인 String get_Shape = cardShape.get(shaperan);

      오류 메시지에서 이런 부분을 중점적으로 보면 원인 파악 가능함
    • @은갈치에구 답변을 이제봣네요.. 감사합니다!
    • -1 배열 인덱스 범위초과 써있고만. 범인은 랜덤변수에서 -1한거
    • @엊그제병장담답변을 이제 봤네요 감사합니다! 
    글목록 이전글 다음글
    글쓰기


    ※ 필독 ※ 컴퓨터게시판 규정 안내 (2025.02.16 수정) (5)스톤콜드 24.12.24추천 1
    와이고수 유저들을 위한 11월 표준견적.txt (35)스톤콜드 24.11.02추천 5
    신문고 (2)스톤콜드 24.12.24-
    🎉 미네랄 응모 이벤트, 더욱 강력하게 다시 시작됩니다! 🎉 (12) YGOSU 25.08.02-
    케이스 추천좀 해주세요 (1)이것은무엇인고3525.08.18-
    [견적] 행님덜 견적한번만 봐주십셔 (2) 나태한구름5925.08.18-
    [정보] 알리 8/17 메가프로모션 할인코드 모음 공자장6625.08.17추천 1
    컴퓨터 고민하는 와고똥퀴들 이거사라 (1)똥게이살인마10325.08.16-
    [질문] 쓰고있는 본체에 업글 가능한지 질문! (6) 또로로롱9325.08.15-
    80만원 이하 본체 링크 부탁드려도 되나요? (10)또로로롱11625.08.14-
    [견적] 노트북 두개중 추천해주세여.. (5) DKEEMSA10425.08.13-
    [견적] 게이밍겸 문서작업용 노트북 추천부탁드립니다. (6)DKEEMSA12025.08.13추천 1
    [질문] 게임 안하고 문서용으로 어때요? (14)또로로롱15025.08.12추천 1
    [질문] 모니터에 붉은 얼룩 이거 머죠 (1) 와이하와이16625.08.11추천 1
    안녕하세요 형님들! 질문있습니다 ㅠㅠ  (4)고구령마싯10225.08.10-
    [견적] 성들 이거 견적 어떠요?? (4)스파게리당12325.08.09-
    [견적] 대충 다나와 인기상품 5위 안에있느걸로 조합했는데 이정도 어떰 (1) 빽드릴킥14225.08.09-
    미네랄좀요 모와서 컴퓨터사게 (2)yxl해체좀10825.08.08추천 2
    [질문] 사무용 컴퓨터 중고? 신품? (6)드라이버평택15825.08.07-
    그냥 컴퓨터는 제일 잘 팔리는걸 사는게 좋다  (1)흑염강림16925.08.06추천 1
    컴퓨터 견적 좀 봐줄수있나요?? (2) 추억은사랑을닮아15125.08.05-
    스톤콜드 관리자에 의해서 블라인드된 게시글입니다.이것은무엇인고7325.08.03-
    [질문] 조립컴터 부품값이 비싸면 조립비도 올라가나요? (4)음란마구니18725.08.02-
    [질문] 키캡 관련,,, 질문 (3) 계란김밥13725.07.31-
    컴퓨터 잘 아시는분 도와주세요!!! 제발! (8)얼짱이에요26325.07.25추천 1
    [정보] 인체공학 마우스 및 키보드. JPG (1) 갈리우스22725.07.24추천 1
    Rtx 5060ti vs rx9060 16gb 머가나을까요? (11)얼짱이에요24925.07.23-
    [견적] 게이밍으로 쓸만한지.. (3) 박카수엠디27625.07.22추천 1
    [견적] 이륙 허가가능할까요 형님들? (3) CCCz21925.07.21-
    글쓰기