본문 바로가기

JAVA

for loop프로그램(숫자의 합/곱)

//for loop을 이용한 여러가지 프로그램을 만들어보자 
//1. 사용자가 숫자 1개를 입력하면 1부터 그 숫자까지의 합을 구해주는 프로그램 
//2. 사용자가 숫자 2개를 입력하면 작은수~큰수까지 합을 구해주는 프로그램 
//3. 사용자가 숫자 1개를 입력하면 1부터 그 숫자까지의 곱을 구해주는 프로그램 

import java.util.Scanner; 
public class Ex11For { 
public static void main(String[] args) { 

Scanner scanner = new Scanner(System.in); 
System.out.println("==1번=="); 
System.out.println("숫자하나를 입력해주세요:"); 
int number = scanner.nextInt(); 

//근데 for loop 안에다가 변수를 만들면? 
//해당 변수는 유효범위가 그 for loop안이 된다 
//따라서 합이 밖에서는 유지가 안되니깐 출력할 수 없다 
//그러면 어떻게 해결해야 할까? 
//그러면 밖에서 만들면 된다 
int sum = 0; 
//number: 5 
//i: 1 
//sum:0 

for(int i = 1; i <= number; i++) { 
//sum에 현재값에 i를 더해주면 되겠지 
//sum = sum + i; 

//위의 현재값에 산술 연산을해서 그 결과값을 다시 
//해당 변수에 넣는것은 우리가 줄여서 쓸 수 있다 
sum += i;// 왼쪽의 코드는 sum = sum +i; 를 줄여서 쓴것 
} 
System.out.println("1부터"+number+"까지 합은:"+sum); 

System.out.println("==2번=="); 
System.out.print("첫번째 숫자를 입력하세요:"); 
int firstNumber = scanner.nextInt(); 
System.out.print("두번째 숫자를 입력하세요:"); 
int secondNumber = scanner.nextInt(); 

//만약 firstNuber가 secondNuber보다 크면? 
//i = secondNumber; i<= firstNumber 
//만약 secondNumber가 firstNumber보다 크면? 
//i = firstNumber; i<=secondNumber 
//이렇게 for문이 잡혀야되는데 
//for문을 두번 쓰는게 쉬울까 
//아니면firstNumber와 secondNumber의 값을 바꿔쓰는게 쉬울까? 

sum = 0; 
//만약 firstNumber가 secondNumber보다 크면 
//두개의 값을 서로 교환해준다 
if(firstNumber > secondNumber) { 
//프로그래밍에서 두 변수의 값을 반대의 값으로 바꿀 때에는 
//항상 임시로 한 변수의 값을 가지고 있을 임시저장소가 필요하다 
//왜냐하면 프로그래밍에서 코드는 절대 동시에 일어나는게 아니라 
//위에서 아래로 순차적으로 일어나기 때문 
//따라서 임시 저장소가 없이 서로의 값을 바꿀 수는 없다. 
int temp = firstNumber; 

firstNumber = secondNumber; 
secondNumber = temp; 

} 
for(int i = firstNumber ; i<=secondNumber ; i++) { 
sum+=i; 
} 

System.out.println(firstNumber+"부터"+secondNumber+"까지의 합:"+sum); 




//3. 사용자가 숫자 1개를 입력하면 1부터 그 숫자까지의 곱을 구해주는 프로그램 

System.out.println("==3번=="); 
sum = 1; 
System.out.print("숫자를 입력해주세요:"); 
number = scanner.nextInt(); 
for(int i = 1; i <= number; i++) { 
// sum = sum * i; 
sum *= i; 
} 
System.out.println("1부터"+number+"까지의 곱은"+sum); 

scanner.close(); 

} 

} 

'JAVA' 카테고리의 다른 글

2중 for loop로 소수를 구하는 프로그램  (0) 2020.04.23
nested loop(다중 반복문)  (0) 2020.04.23
for 반복문  (0) 2020.04.23
월/일수 계산 프로그램  (0) 2020.04.23
현역판정 프로그램  (0) 2020.04.23