Projects (71) 썸네일형 리스트형 자바 100제 9번 scanner nextdouble package java_algorithm; import java.util.Scanner; public class ex100_9 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); double i = scan.nextDouble(); System.out.println(i); } } 자바 100제 8번 scanner nextLine package java_algorithm; import java.util.Scanner; public class ex100_8 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); String i = sc.nextLine(); System.out.println(i); } } 자바 100제 7번 문제 스캐너 // ex100_7.java package java_algorithm; import java.util.Scanner; public class ex100_7 { public static void main(String[] args) { // TODO Auto-generated method stub // 스캐닝(system.in)으로 작동하는 스캐너 객체 생성 Scanner sc = new Scanner(System.in); // int i 변수에 다음에 적히는 nextint()정수를 담는다. int i = sc.nextInt(); System.out.println(i); } } 죽은 슬라임이 또 공격하는 버그 잡기 및 죽은 슬라임을 확인사살하는 버그 발견! // Slime.java package study; import javax.swing.JOptionPane; public class Slime { String name; int hp = 80; // 생성자 public Slime(String n) { name = n; } // 공격 public void attack(Human h) { if (hp > 0) // hp가 있을 때만 공격할 수 있도록 해서 죽은 뒤에도 공격하는 버그를 잡음. System.out.println(name + "는 인간을 공격했습니다"); h.hp = h.hp - 10; if (h.hp < 1) { JOptionPane.showMessageDialog(null, "Game Over"); // 프로그램을 끝내는 함수 System.ex.. 슬라임이 사망하도록 하자. 그런데 죽은 슬라임이 공격하네? // Human.java package study; // public이 있어도 되고, 없어도 불러지기는 한다. public class Human { String name; int hp = 100; public Human(String n) { name = n; } public void attack(Slime s) { System.out.println("인간은 " + s.name +"를 공격했습니다."); s.hp = s.hp - 10; // 당연히 슬라임이 죽는 코드를 짜는 것이기 때문에 // 위의 데이미를 입히는 것 다음에 아래 코드가 나와야 한다. // 하지만 이렇게만 끝나면, 사망한 슬라임이 죽은 뒤에도 // 주인공을 공격하는 버그가 생긴다. // 여전히 메인함수의 s.attack(h); 가 실행되기.. 빈값을 넣거나, 데이터를 입력하지 않고 종료했을 때 생기는 에러를 방지하자. // Study01.java package study; import javax.swing.JOptionPane; public class Study01 { public static void main(String[] args) { // 슬라임과 인간 객체 생성 Slime s1 = new Slime("스라이무"); Slime s2 = new Slime("스시무"); Slime s3 = new Slime("스파르솔"); Human h = new Human("손오공"); System.out.println(s1.name + "와 " + s2.name + "와 " + s3.name + "이 나타났다! 당신의 이름은 " + h.name + "이다.\n" ); /* Byte.parseByte(); Short.parseS.. 인풋박스에 데이터를 넣지 않고 종료했을 때 오류가 나는 이유 : null값과 빈값 // Study01.java package study; import javax.swing.JOptionPane; public class Study01 { public static void main(String[] args) { // 슬라임과 인간 객체 생성 Slime s1 = new Slime("스라이무"); Slime s2 = new Slime("스시무"); Human h = new Human("손오공"); System.out.println(s1.name + "와 " + s2.name + "이 나타났다! 당신의 이름은 " + h.name + "이다.\n" ); /* Byte.parseByte(); Short.parseShort(); Integer.parseInt(); Long.parseLong(); F.. 객체인수를 활용한 메인함수 리팩토링 // Human.java package study; // public이 있어도 되고, 없어도 불러지기는 한다. public class Human { String name; int hp = 100; public Human(String n) { name = n; } // 여기서 기존의 데이터타입을 Slime으로 변경할 수 있다. // 이처럼 함수의 인수로써 객체를 집어넣을 수 있는데, 이를 객체인수라고 한다. public void attack(Slime s) { System.out.println("인간은 " + s.name +"를 공격했습니다."); s.hp = s.hp - 10; System.out.println("현재 " + s.name + "의 체력은 " + s.hp + "이다\n"); } } // S.. 이전 1 ··· 3 4 5 6 7 8 9 다음