그래서 내가 가지고있는 것은 음료의 이름을 가진 2 차원 배열 및 가격 테스트 [이름] [가격]입니다 :2 차원 배열에서 임의의 문자열을 선택 하시겠습니까?
사용자가 자신의 최대 입력하도록 그것을 가지고 무엇 메신저하려고 노력public static final String[][] Test = {{"vodka1","5.0"},{"vodka2","10.0"},{"vodka3","15.0"},{"vodka4","20.0"},{"vodka5","25.0"}};
가격은 그 다음 최대 가격보다 낮은 두 번째 배열에서 무작위로 선택됩니다.
먼저 우선 사용자의 최대 가격보다 낮은 음료수로 배열을 좁히려면 어떻게해야합니까?
private static final String[] test1 = {};
test1 = (array_city.Test[i][j] <= Price);
randomIndex = random.nextInt(test1.length);
text2.setText(test1[randomIndex]);
감사 :
이 내가 (나는 그것의 잘못을 알고 있지만 그 모든 내가 생각할 수있는) 시도 것입니다!
편집
내가 그 문자열에 다음의 setText 가격에 따라 최대로 이상으로 내 배열을 정렬 somehwere 사이의 임의의 인덱스를 구입 선택하는 가능한 한 최대 음료를 찾기 위해이 코드를 시도하고했지만 활동 페이지가 시작되면 충돌이 발생합니까? 내 코드는 다음과 같습니다.
convert = Double.valueOf(array_city.Test[c][1]);
// Set vodka brand
while(Price <= convert){
c++;
convert = Double.valueOf(array_city.Test[c][1]);
}
final TextView text2 = (TextView) findViewById(R.id.display2);
randomIndex = random.nextInt(c);
text2.setText(array_city.Test[randomIndex][1]);
왜 작동하지 않습니까?
최종 편집
알아 냈어 !! 일부 사소한 논리 문제로 밝혀졌으며 4 루프로 바뀌 었습니다. 모든
convert = Double.valueOf(array_city.Test[c][1]);
// Set vodka brand
for(double i = Price; i >= convert;){
c++;
convert = Double.valueOf(array_city.Test[c][1]);
}
final TextView text2 = (TextView) findViewById(R.id.display2);
randomIndex = random.nextInt(c);
어레이가 가격순으로 정렬된다는 전제입니까? – eboix
@eboix 나는 정확히 내가 묻는 것에 혼란스러워한다. – Hockeyman271
가격이 항상 배열에서 배열 순서대로 배열 될지 물어 보는 중입니다. '[3,5,2,1,4]'가 아니라 '[1,2,3,4,5]'등등. 배열이 항상 정렬 된 경우 값의 위/아래 부분 만 무시하면됩니다. –