자바 고전 연습 문제 (2)
프로그램 분석: 콘 솔 에서 한 줄 의 입력 을 가 져 온 다음 에 String 문자열 의 내용 을 판단 하고 모든 문자 의 개 수 를 집계 하여 리 턴 '' 을 만 날 때 까지 합 니 다.
import java.util.Scanner;
public class Question6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char[] dst = new char[str.length()];
str.getChars(0, str.length(), dst, 0);
int letterCount = 0; //
int whiteSpaceCount = 0; //
int numberCount = 0; //
int otherCount = 0; //
for (char c : dst) {
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
letterCount++;
} else if (c == ' ') {
whiteSpaceCount++;
} else if (c >= '0' && c <= '9') {
numberCount++;
} else {
otherCount++;
}
}
System.out.println(" :" + letterCount);
System.out.println(" :" + whiteSpaceCount);
System.out.println(" :" + numberCount);
System.out.println(" :" + otherCount);
}
}
7. s = a + aa + aa + aa + aa... aa 의 값 을 구 합 니 다. 그 중에서 a 는 숫자 입 니 다.예 를 들 어 2 + 22 + 2222 + 22222 (이때 모두 5 개의 수 를 더 함), a 의 값 과 몇 개의 수 를 더 하면 모두 키보드 로 입력 한다.
프로그램 분석: 프로그램의 관건 은 모든 aa.. aa 의 값 크기 를 계산 하 는 것 입 니 다. 모든 값 의 크기 는 모든 비트 의 수치 와 같 습 니 다.
import java.util.Scanner;
public class Question7 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(" a :");
long a = sc.nextLong();
System.out.println(" :");
long b = sc.nextLong();
long s = 0;
for (long i = 1; i <= b; i++) {
long temp = a;
long w = 1; // w
for (long j = i; j > 1; j--) {
w = w * 10;
temp = temp + (a * w);
}
s = s + temp; // temp “+”
}
System.out.print("s=");
for (long i = 1; i <= b; i++) {
System.out.print(a);
for (long j = i; j > 1; j--) {
System.out.print(a);
}
if (i != b) {
System.out.print("+");
}
}
System.out.println("=" + s);
}
}
8. 하나의 수가 만약 그것 의 인자 의 합 과 같다 면 이 수 를 '완수' 라 고 부른다.예 를 들 어 6 = 1 + 2 + 3, 프로 그래 밍 은 1000 이내 의 모든 완 수 를 찾아낸다.
프로그램 분석: n 의 모든 인자 (즉 n 에 의 해 정 제 될 수 있 는 수) 를 찾 아 모든 인자 의 합 을 n 과 비교 하면 된다.
public class Question8 {
public static void main(String[] args) {
for (int i = 1; i < 1000; i++) {
if (isPerfectNumber(i)) {
System.out.println(i);
}
}
}
/**
* “ ”
* @param n
* @return true, n “ ”; false, n “ ”
*/
private static boolean isPerfectNumber(int n) {
int sum = 0; // n
for (int i = 1; i < n; i++) {
if (n % i == 0) {
sum += i;
}
}
if (sum == n) {
return true;
} else {
return false;
}
}
}
9. 한 골 은 100 미터 높이 에서 자 유 롭 게 떨 어 지고 매번 착지 한 후에 원래 높이 의 절반 으로 되돌아간다.다시 떨 어 지면 n 번 째 착지 할 때 모두 몇 미 터 를 거 쳤 습 니까?n 차 반등 은 얼마나 높 습 니까?
프로그램 분석: 착지 탄 기 를 하나의 라운드 로 보고 n 번 째 착지 탄 기 를 순환 적 으로 계산 할 때 탄 기 부분의 거 리 를 줄 이면 지나 가 는 거 리 를 얻 을 수 있다.
import java.util.Scanner;
public class Question9 {
public static void main(String[] args) {
System.out.println(" :");
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
double height = 100.0;
double sum = 0.0;
double reHeight = 0.0;
for (int i = 1; i <= m; i++) {
reHeight = height / 2;
sum = sum + height + reHeight;
height = reHeight;
if (i == m) {
sum -= height;
}
}
System.out.println(" " + m + " :" + sum);
System.out.println(" " + m + " ::" + reHeight);
}
}
10. 1, 2, 3, 4 개의 숫자 가 있 는데 서로 다 르 고 중복 되 지 않 는 세 자릿수 를 구성 할 수 있 습 니까?다 얼마예요?
프로그램 분석: 3 층 순환 으로 백 위 와 10 위 가 같 지 않다 고 판단 하고 백 위 와 개 위 는 같 지 않다. 10 위 와 개 위 는 같 지 않다. 즉, 조건 을 만족 시 키 는 것 이다.
public class Question10 {
public static void main(String[] args) {
int count = 0;
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= 4; j++) {
for (int k = 1; k <= 4; k++) {
if (i != j && i != k && j != k) {
System.out.println(i + "" + j + "" + k);
count++;
}
}
}
}
System.out.println(" " + count + " ");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.