Java反復文(/while/do-while/名前付き反復文)
7226 ワード
複文
for(初期化;条件式;増分式){}
-do{}whlie(条件式);->条件式エラー時に繰り返しを終了
-少なくとも1回実行してください
デジタルゲーム
break outer;//outerという名前の重複文を出ます.
continue; //最近の繰り返し文の現在の繰り返しシーケンスから離れます.
continue outer;//outerという名前の現在の重複シーケンスを終了します.
-for
-while
-do-while
文脈for(初期化;条件式;増分式){}
- 조건식이 거짓이면 중단
-포함하고 있는 문장들을 정해진 횟수만큼 반복하는 문장
for(int i = 1; i <= 10; i++){
//초기화: 조건식과 증감식에 사용할 변수 초기화
//조건식: 연산결과가 참이면 블럭안의 내용을 수행
//증감식: 변수를 증가/감소 시켜 반복문을 제어
System.out.println(i+"번째 반복"); //for문 안에서만 사용 가능
}
1から10までの合計を保存 int sum = 0;
sum += 1;
sum += 2;
sum += 3;
sum += 4;
sum += 5;
sum += 6;
sum += 7;
sum += 8;
sum += 9;
sum += 10;
System.out.println(sum);
1から10に1を増やす sum=0;
for(int i = 1; i <= 10; i++){
sum += i;
}
System.out.println(sum);
10から1に減少 sum = 0;
for(int i = 10; i >= 1; i--){
sum += i;
}
System.out.println(sum);
質問:1から100まで偶数と 방법1 sum = 0;
for(int i = 2; i <= 100; i+=2){
sum += i;
}
System.out.println(sum);
방법2 sum = 0;
for(int i = 2; i <= 100; i+=2){
if(i % 2 == 0){
sum += i;
}
}
System.out.println(sum);
1~100の奇数の和방법1 sum=0;
for(int i=1; i<=100; i+=2){
sum += i;
}
System.out.println(sum);
방법2 sum=0;
for(int i=1; i<=100; i+=2){
if(i%2 == 1){
sum +=i;
}
}
System.out.println(sum);
九九段出力 2*1=2
2*2=4
2*3=6
2*4=8
for(int i=1; i <= 9; i++){
System.out.println(2+"*"+i+"="+i*2);
}
//구구단 9단을 출력해주세요
for(int i=1; i<= 9; i++){
System.out.println(9+"*"+i+"="+i*9);
}
レイヤ2からレイヤ9への1回の出力 for(int i=2; i<=9; i++){ //대가리
for(int j=1; j<=9; j++){ //다리
sum = i * j;
System.out.println(i + "*" + j + "="+sum);
}
}
gugudan全体を横に印刷してください 2(안쪽 변수)*1(밖에 있는 변수)=2 3*1=3 4*1=4
2*2=4 3*2=6 4*2=8
2*3=6 3*3=9 4*3=12
...
for(int i = 1; i <= 9; i++){
for(int j = 2; j <= 9; j++){
System.out.print(j +" * "+ i +" = "+ i*j+"\t");
}
System.out.println();
}
ドア -while(조건식){ } - 조건식에 boolean
-포함하고 있는 문장들을 조건식이 만족하는 동안 반복하는 문장
-반복횟수가 정확히지 않은 경우(모를때)에 주로 사용
aに2を掛けると1000以上に何回掛けるか-繰り返し回数が分からない int a = 1;
int count = 0;
while(a < 1000){
a *= 2;
count++;
System.out.println(count+":"+a);
}
do-whlie文-do{}whlie(条件式);->条件式エラー時に繰り返しを終了
-少なくとも1回実行してください
デジタルゲーム
int answer = (int)(Math.random()*100)+1;
int input = 0;
Scanner s = new Scanner(System.in);
do{
System.out.println("1~100사이의 수를 입력해주세요>");
input = Integer.parseInt(s.nextLine());
if(answer < input){
System.out.println(input+" 보다 작습니다.");
}else if(input < answer){
System.out.println(input+"보다 큽니다.");
}else{
System.out.println("정답입니다!");
}
}while(input != answer);
名複文 outer : for(int i=2; i<=9; i++){
for(int j=1; j<=9; j++){
if(j==5){ //5일때 빠져 나가는 것
break; //最近の複文を出る.break outer;//outerという名前の重複文を出ます.
continue; //最近の繰り返し文の現在の繰り返しシーケンスから離れます.
continue outer;//outerという名前の現在の重複シーケンスを終了します.
i가2를 빠져나가 3이 되는것. outer의 증감식으로 가는것
}
System.out.println(i + " * "+ j +" = "+ i * j);
}
System.out.println();
}
星をたたく System.out.println("*****");
System.out.println("*****");
System.out.println("*****");
for(int i = 1; i <= 3; i++){
for(int j = 1; j <= 5; j++){
System.out.print("*");
}
System.out.println();
星をたたく System.out.println("*");
System.out.println("**");
System.out.println("***");
System.out.println("****");
System.out.println("*****")
for(int i=1; i<=5; i++){
for(int j=1; j<=i; j++){
System.out.print("*"); //안쪽의 반복횟수가 변함
}
System.out.println();
}
星をたたく System.out.println("*****");
System.out.println("****");
System.out.println("***");
System.out.println("**");
System.out.println("*");
for(int i=5; i>=1; i--){
for(int j=1; j<=i; j++){
System.out.print("*");
}
System.out.println();
}
3つのランダムな数字に対して 스트라이크: 숫자와 자릿수가 똑같을때 1S
볼: 숫자는 똑같은데 자릿수가 다를때 1B
아웃: 아예 같은 수가 없을때 1O
1-9까지 숫자를 서로다르게 랜덤발생
숫자를 입력받아서 스트라이크, 볼, 아웃을 만들어낸다.
Scanner s = new Scanner(System.in);
int st = 0;
int ba = 0;
int ou = 0;
int r1;
int r2;
int r3;
do{
r1 = (int)(Math.random()*9)+1;
r2 = (int)(Math.random()*9)+1;
r3 = (int)(Math.random()*9)+1;
}while(r1==r2 || r1==r3 || r2==r3);
do{
int input= 100*r1+10*r2+1*r3;
st = 0;
ba = 0;
ou = 0;
System.out.println("첫째 자리를 입력해 주세요>");
int num1 = Integer.parseInt(s.nextLine());
System.out.println("둘째 자리를 입력해 주세요>");
int num2 = Integer.parseInt(s.nextLine());
System.out.println("셋째 자리를 입력해 주세요>");
int num3 = Integer.parseInt(s.nextLine());
if(num1 == r1){ //첫째 스트라이크
st += 1;
}else if(num1 == r2){ //첫째 볼
ba += 1;
}else if(num1 == r3){
ba += 1;
}else if(num1 != r1){ //첫째 아웃
ou += 1;
}else if(num1 != r2){
ou += 1;
}else if(num1 != r3){
ou += 1;
}
if(num2 == r2){ //둘째
st += 1;
}else if(num2 == r1){
ba += 1;
}else if(num2 == r3){
ba += 1;
}else if(num2 != r1){
ou += 1;
}else if(num2 != r2){
ou += 1;
}else if(num2 != r3){
ou += 1;
}
if(num3 == r3){ //셋째
st += 1;
}else if(num3 == r2){
ba += 1;
}else if(num3 == r1){
ba += 1;
}else if(num3 != r1){
ou += 1;
}else if(num3 != r2){
ou += 1;
}else if(num3 != r3){
ou += 1;
}
System.out.println(input+" st:"+st+" ba:"+ba+" ou:"+ou);
}while(st!= 3);
Reference
この問題について(Java反復文(/while/do-while/名前付き反復文)), 我々は、より多くの情報をここで見つけました https://velog.io/@susan9905/Java-반복문forwhiledo-while이름붙은-반복문テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol