Sol은 사용자가 좋아하는 요리와 그 요리의 레시피를 입력받아 출력하는 간단한 자바 프로그램이다.
[프로그램 코드]
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String cookingName = sc.nextLine();
double starScore = sc.nextDouble();
String [] recipe = new String[10];
// for (String re: recipe) {
// re=sc.nextLine();
// }
//
// for (String re: recipe) {
// System.out.println(re);
// }
//
// System.out.println(starScore);
// System.out.println(cookingName);
sc.nextLine();
// \n문자 받는 역활
for (int i = 0; i < recipe.length; i++) {
recipe[i]=sc.nextLine();
}
System.out.println("[ "+cookingName+" ]");
System.out.print("별점 : "+(int)starScore);
System.out.println(" ( "+(((int)starScore)/5.0)*100+"% )");
for (int i = 0; i <recipe.length ; i++) {
System.out.println(""+(i+1)+". "+recipe[i]);
}
}
}
sc.toString
으로 입력 받는 문제:sc.toString()
은 객체의 문자열 표현을 반환하는 것이므로 입력을 받는 용도로 사용될 수 없다.sc.nextLine()
을 사용하여 문자열 입력을 받았다.toString()
은 객체의 문자열 표현을 반환하는 메서드다.String [] recipe = new String[10];
for-each
문 사용 문제:for-each
문에서는 배열의 원소에 직접 접근할 수 없다.for (String re: recipe) {
re=sc.nextLine();
}
for
문을 사용하여 배열의 각 원소에 접근하고 값을 수정했다.for (int i = 0; i <recipe.length ; i++) {
System.out.println(""+(i+1)+". "+recipe[i]);
}