반응형
1번
package ch04;
public class Solve {
public static void main(String[] args) {
// TODO Auto-generated method stub
//1번
int x = 10;
if(x > 10 && x < 20) {
}
//2번
char ch = 'A';
if(ch != ' ' && ch != ' ') {
}
//3번
if(ch == 'x' || ch == 'X') {
}
//4번
if('0' >= ch && ch <= '9') {
}
//5번
if((ch > 'a' && ch < 'z') || (ch >= 'A' && ch <= 'Z')) {
}
//6번
int year = (int)Math.random();
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){
}
boolean powerOn = false;
if(!powerOn) {
}
String str = "yes";
if(str.equals("yes")){
}
}
}
'\t' 탭
package ch04;
public class Solve {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
for(int i = 1; i <= 20; i++) {
if(!(i%2 == 0 || i%3 == 0)) {
sum += i;
System.out.println("i: " + i);
}
}
System.out.println("결과: " + sum);
}
}
220
package ch04;
public class Solve {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
for(int i = 1; i <= 10; i++) {
for(int j = 1; j <= i; j++) {
sum += j;
}
}
System.out.println(sum);
}
}
answer : 199
package ch04;
public class Solve {
public static void main(String[] args) {
// TODO Auto-generated method stub
//짝수에만 -
int sum = 0;
for(int i = 1; i <= 10000; i++) {
if(i % 2 == 0) {
sum -= i;
} else {
sum += i;
}
if(sum >= 100) {
System.out.println("answer : " + i);
break;
}
}
}
}
여기서 i를 i= -i 와 같은 일을 해버리면 for문안에 있는 i++에 영향을 주기 때문에
sum을 할 때 더하고 뺴기와 같이 입력해야 한다.
int i = 0;
while(++i <= 10) {
int j = 0;
while(++j <= i) {
System.out.print("*");
}
System.out.println("");
}
for(int i = 1; i <= 6; i++) {
for(int j = 1; j <= 6; j++) {
if(i + j == 6) {
System.out.println("("+i +", " + j + ")");
}
}
}
package ch04;
public class Solve {
public static void main(String[] args) {
// TODO Auto-generated method stub
int value = (int)(Math.random()*6) + 1;
System.out.println(value);
}
}
package ch04;
public class Solve {
public static void main(String[] args) {
// TODO Auto-generated method stub
//2x+4y = 10;
for(int x = 0; x <= 10; x++) {
for(int y = 0; y <= 10; y++) {
if(2*x + 4*y == 10) {
System.out.println("("+x+", "+y+")");
}
}
}
}
}
charAt 사용하란거 못 보고 풀어버림
package ch04;
public class Solve {
public static void main(String[] args) {
String str = "12345";
int sum = 0;
int num = Integer.parseInt(str);
for(int i=0; i < str.length(); i++) {
sum += num%10;
num /= 10;
}
System.out.println("sum="+sum);
}
}
char 타입으로 char 변수 값이 숫자일 경우에 마이너스 - '0' 를 해줌으로써 char 변수를 유지하면서 그 값을 얻어낼 수 있다.
4-10은 Str으로 바꾸지 않고 하는 방법 (위와 같은 방법일 듯)
package ch04;
import java.util.Arrays;
public class Solve {
public static void main(String[] args) {
int num1 = 1;
int num2 = 1;
int num3 = 0;
System.out.print(num1 +", " + num2);
int arr[] = new int[10];
arr[0] = num1;
arr[1] = num2;
for(int i = 0; i < 8; i++) {
arr[i+2] = arr[i] + arr[i+1];
System.out.print(", " + arr[i+2]);
}
}
}
다시 풀어보기
package ch04;
public class Solve {
public static void main(String[] args) {
//구구단의 일부분
for(int i = 2; i <= 9; i++) {
for(int j = 1; j <= 3; j++) {
System.out.println(i +"*" + j + " = " + i*j);
}
}
System.out.println();
}
}
package ch04;
public class Solve {
public static void main(String[] args) {
String value = "12334";
char ch = ' ';
boolean isNumber = true;
// charAt(int i) 반복문과 를 이용해서 문자열의 문자를
// . 하나씩 읽어서 검사한다
for(int i=0; i < value.length() ; i++) {
if(!(value.charAt(i) >= '0' && value.charAt(i) <= '9')) {
isNumber = false;
break;
} else {
isNumber = true;
}
}
if (isNumber) {
System.out.println(value+"는 숫자입니다.");
} else {
System.out.println(value+"는 숫자가 아닙니다.");
}
}
}
false인 순간 for문을 빠져나와야 한다
package ch04;
public class Solve {
public static void main(String[] args) {
int answer = (int)(Math.random()*100)+1;
int input = 0;
int count = 0;
java.util.Scanner s = new java.util.Scanner(System.in);
do {
count++;
System.out.print("1과 100 사이의 값을 입력하세요 : ");
input = s.nextInt();
if(input == answer) {
System.out.println("정답입니다.");
break;
} else if(input > answer) {
System.out.println("더 작은 수를 입력해주세요.");
} else if(input < answer) {
System.out.println("더 큰 수를 입력해주세요.");
}
} while(true); //무한 반복문
}
}
제곱 double 타입으로 return 되는
Math.pow(n, m)을 이용했다.
package ch04;
public class Solve {
public static void main(String[] args) {
int number = 12321;
int tmp = number;
int result = 0; //변수 number를 거꾸로 변환해서 담을 변수
while(tmp != 0) {
int length = (tmp+"").length();
result += ((tmp%10) * (int)Math.pow(10, --length));
tmp = tmp/10;
}
if(number == result)
System.out.println( number + "는 회수문 입니다.");
else
System.out.println( number + "는 회수문이 아닙니다.");
}
}
반응형
'자바의정석' 카테고리의 다른 글
[자바의 정석 - 기초편] ch5-4,5 배열의 길이, 배열의 초기화 (0) | 2022.02.28 |
---|---|
[자바의 정석 - 기초편] ch5-1~3 배열의 생성과 선언, 배열의 인덱스 (0) | 2022.02.28 |
[자바의 정석 - 기초편] ch4-20~24 break문, continue문, 이름붙은 반복문 (0) | 2022.02.23 |
[자바의 정석 - 기초편] ch4-16~19 while문, do-while문 (0) | 2022.02.23 |
[자바의 정석 - 기초편] ch4-15 중첩 for문 (0) | 2022.02.23 |