예제1)

 var get_val = "1,2,3,4";           //string 문자열

 var arr_val = get_val.split(",");  //배열로 분할



 for(var i = 0; i < arr_val.length; i++){ 

    if(arr_val[i]==3){

       arr_val.splice(i,1);      //조건문에 성립하면 해당배열 제거

    } 

 } 



var result = arr_val.join(",");   //배열을 ,로 구분지어 하나의 string으로 생성

result > 1,2,4

 

예제2)

 var get_val = "1,2,3,4";           //string 문자열

 var arr_val = get_val.split(",");  //배열로 분할



 for(var i = 0; i < arr_val.length; i++){ 

    if(arr_val[i]==2){

       arr_val.splice(i,2);     //조건문에 성립하면 해당배열 제거

    } 

 } 

var result = arr_val.join(",");   //배열을 ,로 구분지어 하나의 string으로 생성

result > 1,4

 

참고 : http://blog.naver.com/PostView.nhn?blogId=mu_kk&logNo=130139967019

'* Programming > JQuery' 카테고리의 다른 글

Select Box change 이벤트  (0) 2019.12.02
삼항연산자  (0) 2019.11.19
Select Box 제어  (0) 2019.11.11
input 체크박스  (0) 2019.10.16
문자열 제거 이벤트  (0) 2018.08.09

자동 로또번호 생성기

메인,메소드로 기능별,객체

토요일 오후 8:30 추첨

숫자적힌 공 1~45까지 

랜덤 수 5개  ex)31,22,41,8,10

"제 xx회 로또당첨번호는 8,10,22,31,41 입니다 축하드립니다."

1. 숫자 중복 불가

2. 랜덤

3. sort정렬(오름차순)

+ 보너스 번호

++ 1000원 5000원 내면 



소스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.Random;
import java.util.Scanner;
 
public class Lotto {
    static int a=326;    //회차 
    static Random r = new Random();        //random 함수 사용하는 두번째 방법
    
    public static void main(String[] args) {    
        System.out.print("로또를 구매하시겠습니까(y/n)? ");
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();    // y/n 입력
        
        if(s.equals("y")){                //구매 yes 인 경우
            System.out.print("몇 줄 구매(1-5) : ");
            int line = sc.nextInt();    //입력
            System.out.println((line*1000)+"원 입니다.");    //계산할 가격 출력
        
            System.out.println();
            prn();        //로또 페이지 출력 함수 호출
            for(int i=0;i<line;i++){    //구매한 줄 수 만큼 buy()메소드 호출
                buy(i);    
            }
            
            System.out.println("-------------------------------------");
            event();    //당첨번호 출력 메소드 event() 호출
            
        }else if(s.equals("n")){        //구매 no 인 경우
            event();    //당첨번호 출력 메소드 event() 호출
            
        }else{
            System.out.println("잘못입력하셨습니다.");
        }
    }//main end
    
    public static void prn(){    //로또 구매시 print
        SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy.MM.dd HH:mm:ss", Locale.KOREA );
        Date currentTime = new Date();
        String mTime = mSimpleDateFormat.format ( currentTime );
        
        System.out.println("--------------나눔 로또--------------");
        System.out.println("               제 "+a+"회 ");    //회차는 멤버필드에 선언
        System.out.println();
        System.out.println("발행일 : "+ mTime);        //현재 시간
        System.out.println("추첨일 : "+ mTime);
        System.out.println("-------------------------------------");
    }//prn end
    public static void buy(int a){    //로또 구매 시 랜덤 번호 출력
        int[] ran = new int[5];
    
        for(int i=0;i<ran.length;i++){
            ran[i]=r.nextInt(45)+1;    //1-45까지 랜덤수를 배열에 입력
            
            for(int j=0;j<i;j++){    //중복수 있는지 확인하기 위해
                if(ran[i]==ran[j]){    //중복된 수 생성됐다면
                    i--;    //i-1을 해서 다시 랜덤수 입력할수있도록
                    break;
                }
            }
        }
        System.out.print((char)(65+a)+" 자동\t");    //"A,B,,,자동" 출력
        for(int i=0;i<ran.length;i++){
            System.out.print(ran[i]+"  ");    //수 출력
        }
        System.out.println();
    }//buy end
    public static void event(){    //당첨 확인
        int[] ran = new int[6];
        System.out.println("******************************************************************");
        System.out.print("제 "+a+"회 로또당첨번호는 ");        //회차는 멤버필드에 선언
        
        for(int i=0;i<ran.length;i++){
            ran[i]=r.nextInt(45)+1;    //1-45까지 랜덤수를 배열에 입력
            
            for(int j=0;j<i;j++){    //중복수 있는지 확인하기 위해
                if(ran[i]==ran[j]){    //중복된 수 생성됐다면
                    i--;            //i-1을 해서 다시 랜덤수 입력할수있도록
                    break;            //중간 for문 나가기
                }
            }
        }
        int temp=0;
        for(int i=0;i<ran.length-1;i++){    //오름차순으로 정렬(보너스번호를 뺀 5개만)
            for(int j=i+1;j<ran.length-1;j++){    
                if(ran[i] > ran[j]){
                    temp=ran[i];
                    ran[i]=ran[j];
                    ran[j]=temp;
                }
            }
            System.out.print(ran[i]+"  ");    //오름차순으로 출력
        }
        System.out.println("입니다. 축하드립니다.");
        System.out.println("보너스 번호는 "+ran[ran.length-1]+" 입니다.");    //마지막 보너스 랜덤수 출력
    }//event end
}//class end
 
 
 
cs

결과


'* Programming > JAVA' 카테고리의 다른 글

DAY13 String 1  (0) 2016.07.21
DAY13 학생 성적관리 프로그램  (0) 2016.07.21
JAR로 export 하기  (0) 2016.07.19
DAY12 배열 문제  (0) 2016.07.19
DAY12 배열  (0) 2016.07.19

12일차 강의 정리


1. 단일 배열

배열(객체)

변수가 많이 필요한 경우에 사용

선언 형태 : 자료형[] 변수명(배열명) = new 자료형[갯수];

     ( 자료형 변수명[] = new 자료형[갯수]; )

( 자료형[] 변수명 = {값,값,...}; )

변수명[인덱스]=초기값;

인덱스는 0으로 시작, +1씩 증가, 총 갯수에서 -1 까지

소스

public class Ex01 {

public static void main(String[] args) {

int[] arr = new int[100]; //배열 선언 방법1

for(int i=0;i<10;i++){ //배열의 초기화

arr[i]=i;

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

}

System.out.println(arr[0]+arr[1]+arr[2]+arr[3]+arr[4]);

System.out.println("-------------------------");

char[] ch = new char[26]; //char배열 선언

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

ch[i]=(char)(65+i);

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

}

System.out.println("\n-------------------------");


int[] arr2 = new int[]{0,1,2,3,4}; //배열 선언 방법2

for(int i=0;i<5;i++){ //배열의 초기화

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

}

System.out.println("\n-------------------------");

int[] arr3 = {0,1,2,3,4}; //배열 선언 방법3

for(int i=0;i<5;i++){ //배열의 초기화

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

}

System.out.println("\n-------------------------");

//배열사용 ->홀수들의 합(1~100)까지

int[] array = new int[101]; //배열 선언

int sum=0;

for(int i=0;i<101;i++){ //배열의 초기화

array[i]=i;

if(i%2!=0){

sum +=array[i];

}

}

System.out.println("값=>"+sum);

}//main end

}//class end

결과

소스2

public class Ex02 {

public static void main(String[] args) {

System.out.println("-------------------------");

String input1 = args[0];

String input2 = args[1];

String input3 = args[2];

System.out.println("input count:"+args.length+"("+input1+", "+input2+", "+input3+")"); //입력준 값의 갯수와 1,2,3출력

System.out.println("-------------------------");

for(int i=0;i<args.length;i++){

System.out.println(args[i]); //args입력 준 값 출력

}

System.out.println("-------------------------");

int[] arr = null; //배열의 선언

arr = new int[3]; //배열의 선언

for(int i=0;i<arr.length;i++){ //배열의 초기화

arr[i]=0;

}

arr[0]=1;

arr[1]=2;

arr[2]=3;

//새로 다시 선언함으로 위의 객체는 가비지 컬렉션(자원관리에 효율적)에 의해 삭제(더이상 가르킬방법이 없어서)

arr = new int[5];

arr=new int[]{1,2,3,4,5};

int[] arr2 = {1,2,3};         //new int[]생략 가능한 경우는 선언시 최초

for(int i=0;i<arr.length;i++){

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

}

}//main end

}//class end

결과2

소스3

public class Ex03 {

public static void main(String[] args) {

String[] arr = new String[]{"java", "web", "spring"};

System.out.println("1번째 결과:");

for(int i=0;i<arr.length;i++){

System.out.println(arr[i]);

}

func1(arr); //메소드 호출(문자열 인자로)


System.out.println("\n3번째 결과:");

for(int i=0;i<arr.length;i++){

System.out.println(arr[i]);         //배열은 참조변수,,주소값을 복사했기 때문에 변형된 것이 그대로 출력

}

}//main end


public static void func1(String[] st){ //배열 {"java", "web", "spring"}을 인자로 받아

st[1]="html"; //arr[1]를 변경

System.out.println("\n2번째 결과 출력");

for(int i=0;i<st.length;i++){

System.out.println(st[i]);

}

}//func1 end

}//class end

결과3

소스4 (입력받은 배열을 역순하라)

메인{

int[] arr = new int[]{1,2,3,4,5};

int[] arr2 = new int[arr.length];

//방법1

// int j=arr.length-1;

//

// for(int i=0;i<arr.length;i++){

// arr2[i]=arr[j];

// j--;

// }

//2방법

for(int i=0;i<arr.length;i++){

arr2[i]=arr[i];

}

int temp=0;

for(int i=0;i<arr2.length-1;i++){

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

if(arr2[i] < arr2[j]){

temp=arr2[i];

arr2[i]=arr2[j];

arr2[j]=temp;

}

}

}

System.out.print("arr1: ");

for(int i=0;i<arr.length;i++){ //arr출력

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

}

System.out.println("\n------------------------------------------------");

System.out.print("arr2: ");

for(int i=0;i<arr.length;i++){ //arr2출력

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

}

}

결과

2. 다중 배열

선언 형태 : 자료형[][] 변수명(배열명) = new 자료형[갯수][갯수];

다른 방법은 소스로 설명

소스

public static void main(String[] args) {

//다중배열

int[][] arr = new int[3][4]; //[행][열] 순으로 3행 4열의 다중배열

System.out.println("행의 갯수:"+arr.length); //행의 갯수

System.out.println("열의 갯수:"+arr[0].length); //열의 갯수

System.out.println("열의 갯수:"+arr[2].length); //열의 갯수는 행의 번호와 관계X

for(int i=0;i<arr.length;i++){

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

arr[i][j]=j;

System.out.print(arr[i][j]);

}

System.out.println();

}

}//main end

결과

초기화 하는 방법

//학생1 - 국어:70 영어:75 수학70

//학생2 - 국어:80 영어:85 수학84

//학생3 - 국어:90 영어:55 수학60

int[][] sungjuck = new int[3][3];    //선언


//방법1

sungjuck[0][0]=70; //학생1

sungjuck[0][1]=75; //학생1

sungjuck[0][2]=70; //학생1



//방법2

int[] stu2 = sungjuck[1]; //학생2

stu2[0] = 80; //학생2

stu2[1] = 85; //학생2

stu2[2] = 84; //학생2



//방법3

int[] stu3 ={90,55,60}; //학생3

sungjuck[2] = stu3; //학생3

stu3[1]=65; //학생3 영어점수 수정(학생1-X,학생2-O)



//방법4

sungjuck[2] = new int[]{90,55,60}; //학생3

소스(방법5)

System.out.println("------------------------------------");

System.out.println("학생성적관리(v1.2.0)");

System.out.println("------------------------------------");

//방법5

int[][] sungjuck = {{70,75,70},

{80,85,84},

{90,55,60} };     //학생1,2,3 [3][3]

System.out.println("국어\t영어\t수학\t총점\t평균\t학점");

for(int i=0;i<sungjuck.length;i++){

int[] stu = sungjuck[i]; //한명의 학생 성적

int sum=0; //총점

double avg; //평균

char c; //학점

for(int j=0;j<stu.length;j++){

sum+=stu[j];

System.out.print(stu[j]+"\t");

}

avg=100*sum/stu.length/100.0; //평균 계산

if(avg>=90){

c='A';

}else if(avg>=80){

c='B';

}else if(avg>=70){

c='C';

}else if(avg>60){

c='D';

}else{

c='F';

}

System.out.println(sum+"\t"+avg+"\t"+c);

}

결과



'* Programming > JAVA' 카테고리의 다른 글

JAR로 export 하기  (0) 2016.07.19
DAY12 배열 문제  (0) 2016.07.19
DAY11 class 정리/상수화  (0) 2016.07.18
DAY10 업다운 게임  (0) 2016.07.18
DAY10 Class/생성자  (0) 2016.07.18

+ Recent posts