[TIL]制御文作成時の注意点、例
コード分析を容易にするために、カッコをできるだけ少なくします.
コードを解釈するときは誤解しないでください.
forのフレームワークを破るな.
コードの可読性を重視する.
条件文に触れないでください.
関数をツールとして使用します.
for(int y = 0; y<11; y++) {
for(int x = 0; x<11; x++)
if(y==x || y==-x+10)
System.out.print("*");
else
System.out.print(" ");
System.out.println();
}
例1。個数
public static void main(String[] args) throws IOException {
//res/data.txt에 담겨진 성적의 개수를 알아보고
// 그 개수를 res/data-count.txt 파일에 저장하시오.
File dataFile = new File("res/data.txt");
FileInputStream dataFis = new FileInputStream(dataFile);
Scanner fscan = new Scanner(dataFis);
File countFile = new File("res/data-count.txt");
FileOutputStream countFos = new FileOutputStream(countFile);
PrintStream fout = new PrintStream(countFos);
int count = 0;
while(fscan.hasNext()){
fscan.next();
count++;
}
// count is 120 처럼 저장할 것
fout.printf("count is %d\n", count);
fscan.close();
fout.close();
dataFis.close();
countFos.close();
System.out.println("프로그램 종료");
例2。最大値
public class Program {
public static void main(String[] args) throws IOException {
File dataFile = new File("res/data.txt");
FileInputStream dataFis = new FileInputStream(dataFile);
Scanner fscan = new Scanner(dataFis);
// --- count를 계산하기 -----
int max = 0;
while(fscan.hasNext()) {
String x_ = scan.next();
int x = Integer.parseInt(x_);
if(x>max)
max = x;
}
fscan.close();
dataFis.close();
// ---count를 출력하기 -------
File countFile = new File("res/data-max.txt");
FileOutputStream countFos = new FileOutputStream(countFile);
PrintStream fout = new PrintStream(countFos);
fout.printf("max is %d", max);
fout.close();
countFos.close();
例3。へいきん
public static void main(String[] args) throws IOException {
File dataFile = new File("res/data.txt");
FileInputStream dataFis = new FileInputStream(dataFile);
Scanner fscan = new Scanner(dataFis);
int sum = 0;
int count = 0;
float avg ;
//---연산하기------
while(fscan.hasNext()) {
String x_ = scan.next();
int x = Integer.parseInt(x_);
sum += x ;
count ++;
}
avg = (float)sum/count;
fscan.close();
dataFis.close();
//---출력하기----------
File countFile = new File("res/data-avg.txt");
FileOutputStream countFos = new FileOutputStream(countFile);
PrintStream fout = new PrintStream(countFos);
fout.printf("avg is %f", avg);
fout.close();
countFos.close();
例4.「*」エプロン
for (int y = 0; y < 10; y++) {
for (int x = 0; x < 11; x++) {
if (y == -x+10 || y == x || (y>=-x+10 && y >= x))
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
Reference
この問題について([TIL]制御文作成時の注意点、例), 我々は、より多くの情報をここで見つけました https://velog.io/@psh94/TIL-제어문-작성시-주의사항テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol