IT/개발
[Java] 내가 이해 안 돼서 그냥 외우려고 하는 코드들.
우주군
2024. 5. 29. 22:24
1.
package pr7_01;
import java.util.Scanner;
import java.util.Vector;
public class VectorBig {
public static void printBig(Vector<Integer> v) {
int n = v.get(0);
for (int i = 1; i < v.size(); i++) {
if (n < v.get(i))
n = v.get(i);
}
System.out.println("가장 큰 수는 " + n);
}
public static void main(String[] agrs) {
Vector<Integer> v = new Vector<>();
Scanner sc = new Scanner(System.in);
System.out.print("정수(-1이 입력될 떄까지)>>");
while (true) {
int n = sc.nextInt();
if (n == -1)
break;
v.add(Integer.valueOf(n));
}
if (v.size() == 0) {
System.out.println("입력된 수가 없음");
sc.close();
return;
}
2-1.
package lib;
// 인터페이스 선언
interface Stack{
// 필드
int length();
int capacity();
// 메소드
String pop();
// 스택의 top에 저장된 실수 리턴
boolean push(String val);
}
2-2.
package lib;
// 스캐너 임포트
import java.util.Scanner;
public class StringStack implements Stack{
// 필드
private int i = -1, length = 0, capacity;
private String []Array;
// 생성자
public StringStack() {
System.out.print("총 스택 저장 공간의 크기 입력 >> ");
Scanner sc = new Scanner(System.in);
this.capacity = sc.nextInt();
Array = new String[capacity];
}
// 메소드
public int length() {
return length;
}
public int capacity() {
return capacity;
}
public String pop() {
i++;
return Array[i];
}
public boolean push(String val) {
if (length >= capacity) return true;
else {
Array[length] = val;
length++;
return false;
}
}
}
2-3.
package app;
import java.util.Scanner;
// 스트링 스택 임포트
import lib.StringStack;
public class StackApp{
// 메인 메소드
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 스트링스택 객체 생
StringStack ss = new StringStack();
// 반복
while(true) {
System.out.print("문자열 입력 >> ");
String str = sc.nextLine();
if(str.equals("그만")) break;
else if(ss.push(str)) {
System.out.println("스택이 꽉 차서 푸시 불가.");
continue;
}
}
// for문으로 저장된 모든 문자열 접근
System.out.print("스택에 저장된 모든 문자열 팝 : ");
for(int i = 0; i < ss.capacity(); i++) {
System.out.print(ss.pop() + " ");
}
sc.close();
}
}
그 다음은?
없길 바래야지,,,