본문 바로가기
코딩/자바 기초특강

20.11.05 THU 자바 기초특강

by 6^6 2020. 11. 5.
728x90

<목차>

  1. 문자열
  2. 난수
  3. 문자열 배열 
  4.  제어
  5. 배열로 주민번호 만들기
  6.  배열 예제

 

 

1. 문자열

class Ex23{

public static void main(String[] args){

//문자열을 10진수 정수 숫자로 변환하기

/*String msg="12345";

System.out.println(msg+10); //결과값 1234510 */


String msg="12345";
int su=Integer.parseInt(msg);
System.out.println(su+10); //결과값 12355

//조건. String에 있는 문자는 오로지 (1~9)숫자로 구성되어있어야한다.
//"123.45"이런것도 컴퓨터는 숫자가 아닌걸로 인식함.

 

 

}
}

 

 

 

 

 

 

2. 난수

class Ex24{

public static void main(String[] args){
//난수발생

System.out.println(Math.random());//실수로 받고싶다면↓

double su=Math.random(); //0<=난수<1.0 / 난수발생
System.out.println(su);

}
}

 

 

 

3. 문자열

class Ex25{
public static void main(String[] args){

//문자열
String st1="java";
String st2=new String("java");
String st3=st1; //값을준게아니라 주소를 준거임

System.out.println(st1);
System.out.println(st2);
System.out.println(st3);
System.out.println(st1==st3); //true
System.out.println(st1==st2); //false -값은같아도 주소가다름
st1="JAVA";
System.out.println(st3); //java

///////////위랑 아래 같은 상황임/////////////////////
int[] arr1={1,3,5,7};
int[] arr2={1,3,5,7};
int[] arr3=arr1;
System.out.println(arr1==arr3); //true
System.out.println(arr1==arr2); //false



}

}

 

 

4. 제어

class Ex27{

public static void main(String[] args){

String st1="ABCD";

String st2=new String("ABCD");

byte[] arr1={65,66,67,68};
String st3=new String(arr1);

char[] arr2={'A','B','C','D'};
String st4=new String(arr2);


System.out.println(st2);
System.out.println(st3);
System.out.println(st4);

/////////////////거꾸로 출력/////////////
byte[] arr3=st1.getBytes();
for(int i=0; i System.out.println(arr3[i]);

}

char[] arr4=st1.toCharArray();
for(int i=0; i System.out.println(arr4[i]);
}

 

 



}

}

 

 

5.배열로 주민번호 검사기 만들기

/*주민번호 검사기
run>java Ex28 123456-1234567
당신을 올해 00세 남성입니다.

run>java Ex28 1234561234567
주민번호 형식에 맞춰 작성하세요(ex.123456-1234567)

run>java Ex28 12345a-1234567
숫자가아닌 문자를 입력하였습니다.

 

*/

/*class Ex28{

public static void main(String[] args){
//나이=age /성별=gen
//1,2자리 / 7자리
//년도+나이 =합
//121-년도=나이

int[] arr1={1,2,3,4,5,6};
int[] arr2={1,2,3,4,5,6,7};

String arr2[1]=gen;
if(arr2[1]=1){
System.out.println("남성");
}else{
System.out.println("여성");
}

int a=arr1[1]+arr1[2];
//int a=age;
System.out.println((int)(121-arr2[a]));

 

System.out.println("당신은 올해" + age + "세 " + gen + "입니다.");

}

}*/


/*
◆◆◆◆◆◆◆
toCharArray()


문자열을 문자배열로 저장
◆◆◆◆◆◆◆◆◆◆*/

 


풀이1
class Ex28{

public static void main(String[] args){

String msg="883456-2234567";

char[] arr=msg.toCharArray(); //toCharArray는 char배열로 변환해주는 String 클래스의 메소드.
char[] temp=new char[2];
temp[0]=arr[0];//년도의 첫번째자리
temp[1]=arr[1];//년도의 두번째자리
String temp2=new String(temp);
//System.out.println(temp2);//이건 문자열. 숫자열로 바꿔줘야함

int year=Integer.parseInt(temp2);

char gender = '남';
if(arr[7]=='1'){ //arr[7]은 1
year+=1900;
}else if(arr[7]=='2'){
year+=1900;
gender='여';
}else if(arr[7]=='3'){
year+=2000;
}else if(arr[7]=='4'){
year+=2000;
gender='여';
}

int age=2020-year+1;//우리나라는 만나이+1
System.out.println("당신의 나이는 "+age+"세 "+gender+ "입니다.");

}
}
*/

//풀이2
class Ex28{

public static void main(String[] args){

String msg="990101-1123456";
char[] arr=msg.toCharArray();
char gender='남';
int year=1900;
year+=(arr[0]-'0')*10+(arr[1]-'0')*1; // '2'-'0'

if(arr[7]>'2'){year+=100;}
if((arr[7]-'0')%2==0){gender='여';}

System.out.println(2020-year+"세 "+gender+"성");

}
}

 

 

 

 

6. 배열 예제

class Ex30{

public static void main(String[] args){

String st1="java";
String st2=new String("java");
String st3="Programming";

System.out.println(st1+st3);

String st4=st1+st3;
String st5=st1.concat(st3); //문자열.concat(추가문자열); = 결합된 문자열 반환
System.out.println(st4);
System.out.println(st5);

char ch=st5.charAt(2); // text.charAt(인덱스번호)---(0,1,2 =3번째 수가 뭔지)
System.out.println(ch);

 

 

}
}

 

7.과제

/*
Q1. 다음을 출력하세요.
★★★★
★★★★
★★★★
★★★★

Q2. 다음을 출력하세요.
1 2 3
4 5 6
7 8 9

 

Q3. 다음을 출력하세요.
1 2 3
2 3 4
3 4 5

Q4. 다음을 출력하세요.

★★
★★★

Q5. 다음을 출력하세요.
1
2 3
4 5 6

Q6. 다음을 출력하세요.
1
1 2
1 2 3

Q7. 구구단을 출력하시오
2x1=2 3x1=3 4x1=4....
2x2=4 3x2=6 4x2=8....
2x3=6 3x3=9 4x3=12....
....

 

*/

 

class Ex31{

public static void main(String[] args){


System.out.println("Q1");
for(int i1=1; i1<5; i1++){
for(int j1=1; j1<4; j1++){
System.out.print("★");}
System.out.println("★");
}

System.out.println("\nQ2");

/* int [][]num=new int[2][2];
int i2;
int j2;
int result=0;

for(i2=0;i2<4;i2++){
for(j2=0;j2<4;j2++){
result=result+1;
num[j2][i2]=result;}}

for(i2=0;i2<4; i2++){
for(j2=0;j2<4; j2++){
System.out.print(" "+num[i2][j2]);
}System.out.println();}
*/


System.out.println("\nQ3");

int i3=0;
int j3=0;
for(i3=1; i3<4; i3++){
for(j3=0; j3<3; j3++){
System.out.print(i3+j3 + " ");}
System.out.println(" ");}


System.out.println("\nQ4");

for(int i4=1; i4<5; i4++){

for(int j4=1; j4
System.out.print("★");}
System.out.println();}


System.out.println("\nQ5");

for(int i5=1; i5<4; i5++){
for(int j5=0; j5 System.out.print(i5+j5 + " ");}
System.out.println(" ");}


System.out.println("\nQ6");

for(int i6=1; i6<2; i6++){
for(int j6=1; j6 System.out.print(j6+i6 + " ");
System.out.println(" ");}}

 

System.out.println("\nQ7");

int i7=0;
int j7=0;
for(i7=2; i7<9; i7++){
for(j7=1; j7<9; j7++){
System.out.print(i7 + "x" + j7 + "=" + i7*j7 + " ");}

System.out.println(i7 + "x" + j7 + "=" + i7*j7 + " ");}
}

}

 

 

728x90

댓글