[자바질문]프로그램 흐름에대한 초보적인 질문 대답좀 부탁드립니다.
풀큰
public class Icecream {
static String[] flav={CHocolate,Strawberry,Vanilla Fudg Swirl,
Mint Chip,Moca Almond Fudg,Rum Raisin,
Praline Cream,Mud Pie};
static String[] flavorset(int n){
n=Math.abs(n) %(flav.length+1); //n을 flav.length 8이라고 하지 9%8하는 이유가 뭐죠??
String []results =new String[n]; //결과치를 담은 배열을 선언;;;;;;;;;;;;;;;;;
boolean[]picked=new boolean[flav.length]; //디폴트값 false니까 배열 여덟게 만들어
for(int i=0;in;i++){//n=8//do while문 한번씩만 돌다 나오게하는놈
int t;//초기화없으니 디폴트값 0
do{
t=(int)(Math.random()*flav.length);//Math.random();0.1 ~1.0 사이의 값을 돌려준다.
}
while(picked[t]);//picked는 boolean타입인데 어캐 값을 담죠;;;;;;;;;;;
results[i]=flav[t];// t번째의 배열부분을 결과에 담고
//System.out.println(results[i]);
picked[t]=true;//이건또 왜 true로 바꾸죠 ;;;;;;;;;;;;;;;;;;;;
}
return results; //결과값 리턴
}
public static void main(String[] args){
for(int i=0; i20; i++){
System.out.println(flavorSet(+i+)=);
String[]fl=flavorset(flav.length);
for(int j=0;jfl.length;j++)
System.out.println(\t+fl[j]);//포문에서 결과값 탭키 누르면 찍어대기}
}
}
제가 귀차니즘에 잠시 빠져 본분에 충실하지 못했습니다. 죄송합니다. 그리고 지적 감사합니다.
제가 나름대로 옆에 주석을 달아 다시 올렸는데 ;;;;----위주로 제설명이 맞는지 틀리다면 왜 틀린지 답변좀 부탁드리겠습니다.
-
적송
매번 감사합니다 ;; 학교다닐때 자료구조 시간에 조금만 잘 볼것을...
-
떠나간그녀
알고리즘(로직)에 대한 개념이 없으셔서 그러는거 같네요^^
구현하시려는 기능이 어떤것인지 먼저 생각해보시고...
인터넷이나 서점에 가시면 이클립스 등에서 디버깅하는 방법이 나온 서적이 있을것입니다.
관련 내용을 학습하셔서 흐름 하나 하나를 직접 눈으로 따라 다니시면
조금은 이해가 더 빨리 되리라 봅니다.
이해가 안될때는 디버깅이 최곱니다^^
아니면 전지나 도트 프린터 용지 같은 큰 종이 여러장 꺼내놓고
거기에 직접 숫자를 하났기 대입하시면서 중간 중간 -
염소자리
그래도 좀 질문이 더럽네요 죄송합니다.........질문 올리는 법 한번 훌터 받습니다. 너무 갈구지는 마세요.