여러 문자열을 하나로 저장하려고합니다. 그게, 얼마나 많은 문자열이 될지 모르겠다. 텍스트 파일에서 칼로리를 읽고 해당 배열에 저장하는 프로그램을 만들고 있습니다. 여러 문자열을 하나의 문자열로 저장
Description of food Fat Food Energy Carbohydrate Protein Cholesterol Weight Saturated Fat
(Grams) (calories) (Grams) (Grams) (Milligrams) (Grams) (Grams)
APPLES, RAW, PEELED, SLICED 1 CUP 0 65 16 0 0 110 0.1
APPLES, RAW, UNPEELED,2 PER LB1 APPLE 1 125 32 0 0 212 0.1
APPLES, RAW, UNPEELED,3 PER LB1 APPLE 0 80 21 0 0 138 0.1
APRICOT NECTAR, NO ADDED VIT C1 CUP 0 140 36 1 0 251 0
지금 음식 이름, 내가 배열 foodName 있습니다
다음은 텍스트의 부분입니다. 내가 금액 인 int에 도달 할 때까지 전체 문자열을 읽습니다. 여기
내가 지금까지 한 일이다 : 루프의 가장 안쪽에Scanner input = new Scanner("Calories.txt");
while (input.hasNext()) {
String[] words = input.next().split(" ");
int lastI;
for (int i=0; i < words.length; i++) {
if (isNumeric(words[i])) {
lastI = i;
for(int j=lastI; j>=0; j++){
//What should I put here?
}
}
}
}
public static boolean isNumeric(String str) {
try {
double d = Double.parseDouble(str);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}
, 그래서 나는 그것에서 시작할 수 뒤로 이동 마지막 인덱스의 트랙을 유지했다.
문제 1 : 두 번째 줄에서 뒤로 이동하면 두 줄을 모두 복사합니다.
문제 2 : foodName의 한 색인에 이름의 모든 문자열을 저장하는 방법?
모든 도움은 감사합니다 :) StringBuilder
라고
봐 (각 행은 별도의 문자열 있습니다 당신은 파일 출력을 엉망으로 서식하는 방법을 볼 수 있습니다.). 그것은 당신이 원하는 것일 수 있습니다. – jhobbie
파일의 형식을 변경할 수 있습니까? 플랫 파일을 사용하는 경우 CSV (쉼표로 구분 된 값) 파일과 같은 표준 형식을 사용하는 것이 좋습니다. 이렇게하면 각 쉼표로 구분할 수 있습니다. 그런 다음 숫자를 찾을 때까지 배열의 각 값을 반복하고 다음 행으로 이동하십시오. –
for (int j = lastI; j> = 0; j ++)'이것은 정말 좋은 생각입니다. 또한 질문이 불분명 한 것 같습니다. 정확히 하나의 String으로 무엇을 원하나요?문자열 배열 또는 단일 문자열을 의미합니까? 이 파일 예제는 형식화 방법과 정확히 일치합니까? –