/*
import javax.swing.*;
//20220913 : 사용방법버튼+다이얼로그 추가, 배경이미지 추가 완료
// 다음시간 : 사용방법 다이얼로그 종료 버튼 만들기
import java.awt.*;
import java.awt.event.*;
public class Main extends JFrame {
GunThread th;
ChikenThread th1 = new ChikenThread();
Container c = getContentPane();
JLabel la = new JLabel();
ImageIcon img = new ImageIcon("patrick Chiken Thread.png");
JLabel la1 = new JLabel(img);
JLabel la2 = new JLabel("0");
JButton la3 = new JButton("게임방법");
JButton JL = new JButton("다시시작");
int score=0;
int combo=0;
int time=20;
private Image background=new ImageIcon("background.png").getImage();
public Main() {
setTitle("사격 게임");
c.setLayout(null);
c.addKeyListener(new MyKeyListener());
c.setFocusable(true);
c.requestFocus();
c.add(la);
la.setLocation(250,450);
la.setSize(10,10);
la.setBackground(Color.red);
la.setOpaque(true);
c.add(la1);
la1.setLocation(0,0);
la1.setSize(30,30);
la1.setOpaque(true);
c.add(la2);
la2.setLocation(220,230);
la2.setSize(60,40);
la2.setFont(new Font("Impact",Font.PLAIN,30));
c.add(JL);
JL.setLocation(300,400);
JL.setSize(150,50);
JL.addActionListener(new MyActionListener());
JDialog dialog = new JDialog();
dialog.setTitle("사격 게임 방법");
dialog.setLayout(null);
JLabel dla1 = new JLabel("<html>빨간사각형:총=엔터를 눌렀을때 발사,과녁을 10번이상 맞혔을땐 더빨라진다<br><br>닭다리:과녁=오른쪽으로이동(벽에닿으면 왼쪽끝으로 이동)<br><br>점수판:총이 과녁에 맞았을때 1증가(연속으로 맞추면 맞춘수만큼 증가)<br><br>다시시작:다시시작됨</html>");
dla1.setFont(new Font("Gothic",Font.ITALIC,20));
dla1.setLocation(10, 1);
dla1.setSize(450, 300);
dialog.add(dla1);
JButton exit = new JButton("닫기");
exit.setLocation(380,250);
exit.setSize(100,40);
dialog.add(exit);
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dialog.setVisible(false);
}
});
dialog.setSize(500,350);
dialog.setVisible(false);
c.add(la3);
la3.setSize(150,50);
la3.setLocation(50, 400);
la3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dialog.setVisible(true);
}
});
th1.start();
setSize(500,500);
setVisible(true);
}
public void paint(Graphics g) {//그리는 함수
g.drawImage(background, 0, 0, null);//background를 그려줌
}
class MyKeyListener extends KeyAdapter {
//e.getKeyCode() 엔터 10, 스페이스 32
public void keyPressed(KeyEvent e) {
if((th==null|| th.getState()==Thread.State.TERMINATED) && e.getKeyCode()==10) {//집가서 정리
th = new GunThread();
th.start();
}
}
}
class MyActionListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
score=0;
combo=0;
time=20;
la2.setText("0"); //점수판을 0점으로 보이게 리셋
c.setFocusable(true);
c.requestFocus();
}
}
class GunThread extends Thread {
synchronized public void run() {
while(true) {
try {
sleep(time);
}catch (Exception e) {
}
int x1 = la.getX();
int y = la.getY();
la.setLocation(x1,y -5 );
if(y<0 || la.getY()<=30 && (220<=la1.getX() && la1.getX()<=260) ) {
la.setLocation(250,450);
if(score==10) {
time=10;
}
if(y>0) { //명중
combo++;
score+=combo;
la2.setText(Integer.toString(score) );
}//그 점수만큼 점수얻기
else{
combo=0;
}
return ;
//break; //명중 or 실패
}
}
}
}
class ChikenThread extends Thread {
public void run() {
while(true) {
try {
sleep(20);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int x = la1.getX();
int y = la1.getY();
if(x>=500) la1.setLocation(0, y);
else la1.setLocation(x+5,y);
}
}
}
public static void main(String[] args) {
new Main();
}
}
class Main{
public static void main(String[] args) {
int n=10;
// 배열은 만들때 길이를 정해줘야한다! 나중에 길이 못바꿈!!
//int[] arr = new int[n];
Vector<Integer> v = new Vector<Integer>();
System.out.println("size : "+v.size());
v.add(5);
v.add(4);
v.add(10);
for(int i=0;i<v.size();i++) {
System.out.print(v.get(i)+" ");
}
System.out.println();
v.add(2,-1);
v.add(0,0);
for(int i=0;i<v.size();i++) {
System.out.print(v.get(i)+" ");
}
System.out.println();
System.out.println("size : "+v.size());
//System.out.println(v.size());
//System.out.println(v.get(1));
//v.removeAllElements();
//v.remove(1);
//System.out.println(v.size());
System.out.println(v.contains(2));
}
}
*/
/*
import java.util.*;
public class Main{
public static void main(String[] args) {
Vector<Integer> v =new Vector<Integer>();
v.add(5);
v.add(4);
v.add(-1);
v.add(2,100);
System.out.println("벡터 내의 요소 객체 수" + v.size());
System.out.println("벡터의 현재 용량 : " + v.capacity());
for(int i=0;i<v.size(); i++ ) {
int n = v.get(i);
System.out.println(n);
}
int sum = 0;
for(int i=0;i<v.size();i++) {
int n = v.elementAt(i);
n;
}
System.out.println("벡터에 있는 정수 합 :" + sum);
}
}
import java.util.*;
class Point{
//field 필드
private int x, y;
// 생성자 ( 객체를 만들때 초기값 설정)
Point(int x, int y){
this.x=x;
this.y=y;
}
String show() {
return "x : "+x+"y : "+y;
}
}
public class Main{
public static void main(String[] args) {
Vector<Point> v = new Vector<Point>();
Point p = new Point(1,3);
v.add(p);
v.add(new Point(5,6));
v.remove(1);
for(int i=0;i<v.size();i++) {
System.out.println(v.get(i).show());
}
}
}
import java.util.*;
public class Main{
public static void main(String[] args) {
Vector<Integer> v =new Vector<Integer>();
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("강수량 입력>>");
int n = sc.nextInt();
if(n==0) break;
v.add(n);
int sum=0;
for(int i=0;i<v.size();i++) {
sum +=v.get(i);
System.out.print(v.get(i)+" ");
}
System.out.println();
System.out.println("평균점수"+sum/v.size());
}
}
}
import java.util.*;
public class Main{
public static void main(String[] args) {
Vector<Float> v = new Vector<Float>();
Scanner sc = new Scanner(System.in);
for(int i=0;i<5;i++) {
float n = sc.nextFloat();
v.add(n);
}
float max=0;
for(int i=0;i<5;i++) {
if(max<v.get(i)) {
max=v.get(i);
}
}
System.out.println("가장 큰 수는"+max);
}
}
import java.util.*;
public class Main{
public static void main(String[] args) {
Vector<Integer> v = new Vector<Integer>();
v.add(5);
v.add(4);
v.add(-1);
v.add(2,100);
System.out.println("벡터 내의 요소 객체 수" + v.size());
System.out.println("벡터의 현재 용량 : " + v.capacity());
for(int i=0;i <v.size();i++) {
int n = v.get(i);
System.out.println(n);
}
int sum = 0;
for(int i=0;i<v.size();i++) {
int n = v.elementAt(i);
sum += n;
}
System.out.println("백터의 있는 정수 합 : " + sum);
}
}
import java.util.Vector;
class Point {
private int x,y;
public Point(int x,int y) {
this.x = x;this.y = y;
}
public String toString() {
return "(" + x + "," + y + ")";
}
}
public class Main{
public static void main(String[] args) {
Vector<Point> v = new Vector<Point>();
Point x = new Point(2,3);
v.add(x);
v.add(new Point(-5,20));
v.add(new Point(30,-8));
for(int i=0;i<v.size();i++) {
Point p = v.get(i);
System.out.print(i+" ");
System.out.println(p);
}
v.remove(1);
for(int i=0;i<v.size();i++) {
Point p = v.get(i);
System.out.print(i+" ");
System.out.println(p);
}
}
}*/
/*
import java.util.*;
class Student {
private String name, major;
private int num;
private double avg;
public Student(String name,String major, int num,double avg) {
this.name=name;this.major=major;this.num=num;this.avg=avg;
}
public String getName() {
return name;
}
public String toString() {
return "이름:"+name + "\n학과:" +major + "\n학번:" + num + "\n학점평균:" + avg;
}
public void show() {
System.out.println( name +"," + major +"," + num + "," + avg);
}
}
// 문자열을 정수로 Integer.parseInt(문자열);
// 정수를 문자열로 Integer.toString(정수);
class Main{
public static void main(String[] args) {
Vector<Student> v = new Vector<Student>();
Scanner sc = new Scanner (System.in);
System.out.println( "학생 이름, 학과, 학번, 학점 평균을 입력하세요.");
for(int i=0;i<4;i++) {
System.out.print(">> ");
String str = sc.nextLine();
String arr[] = str.split(", ");
String name = arr[0];
String major = arr[1];
int num = Integer.parseInt(arr[2]);
double avg = Double.parseDouble(arr[3]);
v.add(new Student(name,major,num,avg));
}
for(int i=0;i<v.size();i++) {
System.out.println(v.get(i));
}
while(true) {
System.out.println("학생이름 >> ");
String name = sc.next();
if(name.equals("그만")) break;
for(int i=0;i<v.size();i++) {
if(v.get(i).getName().equals(name)) {
v.get(i).show();
break;
}
}
}
}
}
황기태, 모바일, 1, 4.1
이재문, 안드로이드, 2, 3.9
김남윤, 웹공학, 3, 3.5
최찬미, 빅데이터, 4, 4.25
그만
import java.util.*;
public class Main{
public static void main(String[] args) {
ArrayList<String> a= new ArrayList<String>();
Scanner sc = new Scanner(System.in);
for(int i=0;i<4;i++) {
System.out.print("이름을 임력하시오");
String s = sc.next();
a.add(s);
}
for(int i=0;i<a.size();i++) {
String name = a.get(i);
System.out.print(name + " ");
}
int longesIndex = 0;
for(int i=1;i<a.size();i++) {
if(a.get(longesIndex).length() < a.get(i).length())
longesIndex = 1;
}
System.out.println("\n가장 긴 이름은 : " + a.get(longesIndex));
sc.close();
}
}
*/
import java.util.*;
class Word {
private String kor,eng;
public Word(String kor,String eng) {
this.kor=kor; this.eng=eng;
}
public String getEng() {
return eng;
}
public String getKor() {
return kor;
}
}
class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Vector<Word> v = new Vector<Word>();
v.add(new Word("지성", "jisung"));
v.add(new Word("선우", "Sunwoo"));
v.add(new Word("선생님", "teacher"));
v.add(new Word("성일","Seong-il"));
v.add(new Word("서진","Seojin"));
v.add(new Word("윤성","Yunseong"));
v.add(new Word("민혁","Minhyeok"));
v.add(new Word("남훈","Nam Hoon"));
v.add(new Word("주원","Juwon"));
v.add(new Word("도윤","Doyun"));
System.out.println("친구이름의 단어 테스트를 시작합니다. -1을 입력하면 종료합니다.");
System.out.println("현재"+v.size()+"개의 단어가 들어 있습니다.");
while(true) {
int x = (int)(Math.random()*v.size());
//랜덤 영어 물어보기
System.out.println(v.get(x).getEng()+"?");
//랜덤 보기 출력해주기
int ans = (int)(Math.random()*4); //ans : 정답의 위치
for(int i=0;i<4;i++) {
System.out.print("("+(i+1)+")");
if(i==ans) System.out.print(v.get(x).getKor()+" ");
else{
int z ;
while(true) {
z = (int)(Math.random()*v.size());
if(z!=ans) break;
}
System.out.print(v.get(z).getKor()+" ");
}
}
System.out.print(" :>");
//정답 입력받기 (-1이 들어왔다면 break;)
int num=sc.nextInt();
if(num==-1) {
System.out.println("친구이름 단어 테스트를 종료합니다 ......");
break;
}
//맞았는지 확인
if(ans+1==num) {
System.out.println("Excellent !!");
}
else{
System.out.println("No...ㅠㅠㅠㅠ");
}
}
}
}
//다음시간에 할것 : 정답이 아닌 보기들도 중복이 나오지 않도록 추가하기