<목차>
- 문자열
- 난수
- 문자열 배열
- 제어
- 배열로 주민번호 만들기
- 배열 예제
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 + " ");}
}
}
'코딩 > 자바 기초특강' 카테고리의 다른 글
20.11.17 TUE 메소드 (0) | 2020.11.17 |
---|---|
20.11.06 FRI 자바기초특강 5 (0) | 2020.11.06 |
20.11.04 WED 3일차 과제 --11.05 THU 과제 피드백 (0) | 2020.11.04 |
20.11.04 WED 자바 기초특강 3 (0) | 2020.11.04 |
20.11.03 TUE 자바 기초특강 2 (0) | 2020.11.03 |
댓글