1. 쿼리스트링을 이용하는 경우




2. 시멘틱 URL 을 이용하는 경우




import java.util.Scanner;

import java.util.Arrays;


public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int Num = sc.nextInt();

float[] arr = new float[Num];

float[] arr1 = new float[Num];

float Max;

double Sum=0;

if(Num<=1000) {

for(int i=0;i<Num;i++) {

arr[i] = sc.nextInt();

if(i==Num-1) {

Arrays.sort(arr);

Max = arr[Num-1];

for(int j=0;j<Num;j++) {

arr1[j] = arr[j]/Max*100;

Sum+=arr1[j];

if(j==Num-1) {

System.out.format("%.2f%n", Sum/Num);

}

}

}

}

}

}

}


- 평균 조작하는 프로그램.
- / 를 int 로 사용하면 그냥 0 이나온다는 사실을 잊지 말자.


import java.util.Scanner;

public class Main{

    public static void main(String[] args){

    Scanner sc = new Scanner(System.in);

   

    int Num = sc.nextInt();

    int Cut = sc.nextInt();

   

    int[] arr = new int[Num];

   

    for(int j = 0; j<=Num-1;j++) {

    arr[j] = sc.nextInt();

    if(j==Num-1) {

    for(int i = 0;i<=Num-1;i++) {

   

    if(arr[i]<Cut) {

    System.out.print(arr[i]+" ");

    }

    }

}

    }

}

}


- 새로 생성된 입력된 수 만큼의 배열 각각에 수를 넣는 방법을 생각해봤다.

- for 문이 끝나면 배열 안에 대입 한 수가 전부 사라지므로 for 안에 if 문을 넣어서 for 문에서 만든 변수를 살려줬다.

import java.util.Scanner;

public class Main{

    public static void main(String[] args){

    Scanner sc = new Scanner(System.in);

   

    int test = sc.nextInt();

    int[] arr1 = new int[test];

int[] arr2 = new int[test];

   

    for(int i = 0; i<=test-1;i++) {

   

    arr1 [i]  = sc.nextInt();

    arr2 [i]  = sc.nextInt(); 

   

    if(i==test-1) {

    for(int k = 0; k<=i; k++ ) {

        int j = arr1 [k] + arr2 [k];

        System.out.println(j);

        }

    }

    }   

    }

}


- 배열 생성할 때 [5] 이면 [0]~[4] 가 생성된다. (헷갈리지 말자)

- for 문 안에서 만들어진 변수는 밖에서 사용할 수 없음을 잘 숙지하자

import java.util.Scanner;

public class Main{

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        

        String sentence = sc.next();

        

        for(int i = 1; i < sentence.length()+1;i++) {

        System.out.print(sentence.charAt(i-1));

        if(i % 10 == 0)

        System.out.println();

        }

        

    }

}



- 끊어서 출력하기

- charAt 함수를 알게 되었다.

 ex) 

String Hateu = sdjkflajsdlf


이면

System.out.println(HateU.charAt(3)); 하면 k 가 출력된다.

(0 부터 시작하기에 ㅎ)

import java.util.Scanner;

public class Main{

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        

        int a = sc.nextInt();

        

        int[] arr = new int[a];

        int sum = 0;

        for(int j=0;j<=a-1;j++) {

        arr[j] = sc.nextInt(); 

        }

        for(int i=0;i<=a-1;i++) {

        sum += arr[i];

        }System.out.println(sum);

    }

}



IDE 에서는 잘돌아가는데

백준 에서는 런타임 오류가 난다. 이유가 뭘까

import java.util.Scanner;


public class Main{

    public static void main(String[] args){

    Scanner sc = new Scanner(System.in);

    int x = sc.nextInt();

    int y = sc.nextInt();

   

    if(x==1||x==10) {

    if(y%7==0) {

    System.out.print("SUN");

    }else if(y%7==1){

    System.out.print("MON");

    }else if(y%7==2){

    System.out.print("TUE");

    }else if(y%7==3){

    System.out.print("WED");

    }else if(y%7==4){

    System.out.print("THU");

    }else if(y%7==5){

    System.out.print("FRI");

    }else if(y%7==6){

    System.out.print("SAT");

    }

    }

    if(x==5) {

    if(y%7==0) {

    System.out.print("MON");

    }else if(y%7==1){

    System.out.print("TUE");

    }else if(y%7==2){

    System.out.print("WED");

    }else if(y%7==3){

    System.out.print("THU");

    }else if(y%7==4){

    System.out.print("FRI");

    }else if(y%7==5){

    System.out.print("SAT");

    }else if(y%7==6){

    System.out.print("SUN");

    }

    }

    if(x==8) {

    if(y%7==0) {

    System.out.print("TUE");

    }else if(y%7==1){

    System.out.print("WED");

    }else if(y%7==2){

    System.out.print("THU");

    }else if(y%7==3){

    System.out.print("FRI");

    }else if(y%7==4){

    System.out.print("SAT");

    }else if(y%7==5){

    System.out.print("SUN");

    }else if(y%7==6){

    System.out.print("MON");

    }

    }

    if(x==2||x==3||x==11) {

    if(y%7==0) {

    System.out.print("WED");

    }else if(y%7==1){

    System.out.print("THU");

    }else if(y%7==2){

    System.out.print("FRI");

    }else if(y%7==3){

    System.out.print("SAT");

    }else if(y%7==4){

    System.out.print("SUN");

    }else if(y%7==5){

    System.out.print("MON");

    }else if(y%7==6){

    System.out.print("TUE");

    }

    }

    if(x==6) {

    if(y%7==0) {

    System.out.print("THU");

    }else if(y%7==1){

    System.out.print("FRI");

    }else if(y%7==2){

    System.out.print("SAT");

    }else if(y%7==3){

    System.out.print("SUN");

    }else if(y%7==4){

    System.out.print("MON");

    }else if(y%7==5){

    System.out.print("TUE");

    }else if(y%7==6){

    System.out.print("WED");

    }

    }

    if(x==9||x==12) {

    if(y%7==0) {

    System.out.print("FRI");

    }else if(y%7==1){

    System.out.print("SAT");

    }else if(y%7==2){

    System.out.print("SUN");

    }else if(y%7==3){

    System.out.print("MON");

    }else if(y%7==4){

    System.out.print("TUE");

    }else if(y%7==5){

    System.out.print("WED");

    }else if(y%7==6){

    System.out.print("THU");

    }

    }

    if(x==4||x==7) {

    if(y%7==0) {

    System.out.print("SAT");

    }else if(y%7==1){

    System.out.print("SUN");

    }else if(y%7==2){

    System.out.print("MON");

    }else if(y%7==3){

    System.out.print("TUE");

    }else if(y%7==4){

    System.out.print("WED");

    }else if(y%7==5){

    System.out.print("THU");

    }else if(y%7==6){

    System.out.print("FRI");

    }

    }

    }

}



- 다 코드를 짜고 보니 너무 길것같다. 
- 또한 for 문을 이용하지 않았다.


더 좋은 코드를 아시는 분은 댓글 달아주세요^^


import java.util.Scanner;


public class Main{

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        

        int a = sc.nextInt();

        

        for(int i=0;i<=a;i++){

            for(int j=1;j<=a-i;j++){

                System.out.print("*");

            }

            System.out.println();

        }

    }

}




- 변수를 잘 생각하자.

- 예상 결과

*****

****

***

**

*



import java.util.Scanner;


public class Main{

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();

        

       for(int i=1;i<=a;i++){

           for(int j=a;i<j;j--){

               System.out.print(" ");

           }

           for(int k=1;k<=i;k++){

               System.out.print("*");

           }

           System.out.println();

               

           }

       }

    }



- 위에는 3개의 for 문이 있다. 첫번쨰 for 문안에 있는 2개의 for 문은 동등한 위치의 for 문이다. ( 즉 2번째 for 문이 끝나면 3번째 for 문으로 넘어간다!)

- 3번쨰 for 문을 자꾸 2번째 for 문 안에 넣어서 풀려고 해서 안풀렸던 것.


import java.util.Scanner;


public class Main{

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        

        int a = sc.nextInt();

        

        for(int i=1;i<=a;i++){

            for(int j=1;j<=i;j++){

            System.out.print("*");

        }System.out.println();

        }

    }

}



- 별찍기는 두개의 for문을 이용해야한다.

- for 안에있는 j 와 i 변수를 이용한다.



-결과

*
**
***
****
*****


+ Recent posts