클래스 {}안에서 main메소드 말고 따로 만들어서 불러오기
public static void 이름()
{
}
public static void main()
{
메소드 이름();
}
package sist0621;
public class ExForWhile_10 {
public static void test1() {
//for문으로 1~5까지 합구하기
int sum=0;
for(int i=1;i<=5;i++)
{
sum+=i;
}
System.out.println("총 합계는 "+sum);
}
public static void test2() {
//1~10까지의 홀수합_for
int sum=0;
for(int i=1;i<=10;i++)
{
if(i%2==0)
continue;
sum+=i;
}
System.out.println("총 합계는 "+sum);
}
public static void test3(){
//100까지의 합은 5050 100은 변수로 처리해서 출력하시오...for
int sum=0;
int i=1;
for(;i<=100;i++)
sum+=i;
System.out.println((i-1)+"까지의 합은 "+sum);
}
//main메서드는 클래스의 시작과 끝을 담당
public static void main(String[] args) {
test1(); //위에 만든 메서드를 호출하는 것
test2();
test3();
}
}
public static void factorialTest() {
1!=1
2!=2
3!=6
10! 출력
int result=1;
//factorial의 결과 값(담는 변수)은 무조건 1
//1까지 곱해주기 때문
for(int i=1;i<=10;i++)
{
result*=i;
System.out.println(i+"!="+result);
}
//for문 안에 있기 때문에 범위까지 !(팩토리얼)이 나옴
}
package sist0621;
import java.util.Scanner;
public class ScannerFor_11 {
public static void numSum() {
//합계를 구할 숫자는? 100
//1부터 100까지의 합은 5050입니다
Scanner sc=new Scanner(System.in);
int n; //입력할 수
System.out.print("합계를 구할 숫자는? ");
n=sc.nextInt();
int sum=0;
for(int i=1;i<=n;i++) //입력한 숫자가 범위의 끝이어야 해서 int i=1 하나 더 선언
sum+=i;
System.out.println("1부터 "+n+"까지의 합은 "+sum+"입니다");
}
public static void factorialTest() {
//1!=1
//2!=2
//3!=6
//10! 출력
int result=1; //factorial의 결과 값은 무조건 1//1까지 곱해주기 때문
for(int i=1;i<=10;i++)
{
result*=i;
System.out.println(i+"!="+result);
}
//for문 안에 있기 때문에 범위까지 !이 나옴
}
public static void quizFact() {
//팩토리얼을 구할 숫자를 입력
//5!=120
Scanner sc=new Scanner(System.in);
int n;
System.out.println("팩토리얼을 구할 숫자를 입력");
n=sc.nextInt();
int resum=1;
for(int i=1;i<=n;i++)
resum*=i;
System.out.println(n+"!= "+resum);
} //입력한 수의 팩토리얼만 나오게 for문 나와서 출력
public static void main(String[] args) {
//numSum();
//factorialTest();
quizFact();
}
}
package sist0621;
import java.util.Scanner;
public class WhileTrueCount_12 {
public static void main(String[] args) {
/*
* 임의의 수를 입력해서 합계, 평균, 갯수
* 단 0을 입력하면 while문을 빠져나가게 하자
* */
Scanner sc=new Scanner(System.in);
int su,sum=0; //입력할 수, 합계
int cnt=0;//갯수
double avg=0;//평균
while(true)
{
System.out.println("숫자입력(종료:0)");
su=sc.nextInt();
if(su==0) //cnt 밑에 조건문을 두면 종료수(0)도 cnt갯수가 증가해서 cnt++;위에 두어야함
break;
sum+=su; //입력한 수 하나씩 덧셈
cnt++; //갯수 하나씩 증가
}
avg=(double)sum/cnt;
System.out.println("입력한 수의 합 "+sum);
System.out.println("총 입력한 갯수 "+cnt);
System.out.println("입력한 수의 평균 "+avg);
}
}
package sist0621;
import java.util.Scanner;
public class QuizWhileTrue_13 {
public static void main(String[] args) {
/*
* 점수를 반복해서 입력하다가 q나 Q를 입력하면
* while문을 빠져나온 뒤 총 갯수, 총점, 평균을 출력하시오
* 평균은 소수점 1자리
* */
Scanner sc=new Scanner(System.in);
int count=0,total=0;
double avg=0;
String score;
while(true)
{
System.out.println("점수를 입력하세요(q or Q 종료)");
score=sc.nextLine();
//종료
//if(score.equals("q")||score.equals("Q"))
//if(score.equalsIgnoreCase("q")) //equals종류는 q만 적어야
if(score.charAt(0)=='q' || score.charAt(0)=='Q') //charAt은 q+다른문자 여도 작동
break;
total+=Integer.parseInt(score); //string을 정수로 변환 후 합계변수에 누적가능
count++;
}
avg=(double)total/count; //둘 다 정수이므로 double로 형변환
System.out.println("입력한 수의 총 합: "+total);
System.out.println("입력한 갯수: "+count);
System.out.printf("총 합의 평균: %.1f",avg);
}
}