[Java μ£Όμ λ¬Έμ νμ΄ (1)] - λ°°μ΄, μμ±μ, λ©μλ
π λ¬Έμ
λ°λ³κ³Ό λμ΄ μ 보λ₯Ό μ μ₯ν μ μλ Triangle ν΄λμ€λ₯Ό μ μνμ.
κ·Έλ¦¬κ³ μμ±κ³Ό λμμ μ΄κΈ°νκ° κ°λ₯ν μμ±μλ μ μνμ. λμΌλ‘ λ°λ³κ³Ό λμ΄ μ 보λ₯Ό λ³κ²½μν¬ μ μλ λ©μλμ μΌκ°νμ λμ΄λ₯Ό κ³μ°ν΄μ λ°ννλ λ©μλλ ν¨κ» μ μνμ. (λ©μλμ λ°ννκ³Ό λ§€κ°λ³μμ μλ£νμ doubleλ‘ μ μΈ)
// λ°λ³κ³Ό λμ΄ μ 보λ₯Ό μ μ₯ν μ μλ Triangle ν΄λμ€λ₯Ό μ μνμ. κ·Έλ¦¬κ³ μμ±κ³Ό λμμ μ΄κΈ°νκ° κ°λ₯ν μμ±μλ μ μνμ.
// λμΌλ‘ λ°λ³κ³Ό λμ΄ μ 보λ₯Ό λ³κ²½μν¬ μ μλ λ©μλμ μΌκ°νμ λμ΄λ₯Ό κ³μ°ν΄μ λ°ννλ λ©μλλ ν¨κ» μ μνμ.
class Triangle {
double bottom, height;
// publicμΌλ‘ μ κ·Όμ νμλ₯Ό μ§μ ν΄μ€μΌ μΈλΆμμλ μμ±μλ₯Ό λΆλ¬μ¬ μ μλ€.
public Triangle() {}
public Triangle(double bottom, double height) {
this.bottom = bottom;
this.height = height;
}
// public void setBottom(double bottom) {
// this.bottom = bottom;
// }
//
// public void setHeight(double height) {
// this.height = height;
// }
public double getArea() {
return bottom * height / 2;
}
}
public class TriangleText {
public static void main(String[] args) {
Triangle tr = new Triangle(10.2, 17.3);
System.out.println("μΌκ°νμ λμ΄ : " + tr.getArea());
}
}
β λ΅μ μ½λ
class Triangle {
private double bottom;
private double height;
public Triangle(double bottom, double height) {
// super();
this.bottom = bottom;
this.height = height;
}
public void setBottom(double bottom) {
if(bottom <= 0) {
bottom = 1;
return;
}
this.bottom = bottom;
}
public void setHeight(double height) {
this.height = height;
}
public double getArea() {
return bottom * height / 2;
}
}
public class TriangleTest {
public static void main(String[] args) {
Triangle tr = new Triangle(10.2, 17.3);
tr.setBottom(5);
tr.setHeight(6);
System.out.println("μΌκ°νμ λμ΄ : " + tr.getArea());
}
}
π λ¬Έμ
μ ν΄λμ€λ₯Ό λ°νμΌλ‘ μμ μλ―Ένλ Circleν΄λμ€λ₯Ό μ μνμ¬λΌ.
μ€μ¬μ μ μ’νμ λ°μ§λ¦(int)μ κΈΈμ΄ μ 보λ₯Ό μ μ₯νμ¬λΌ.
μ λκ°λ‘ μ΄λ£¨μ΄μ§ Ring ν΄λμ€λ₯Ό μ μνμ¬λΌ.
class Point
{
int xPos, yPos;
public Point(int x, int y)
{
xPos=x;
yPos=y;
}
public void showPointInfo() {System.out.println("["+xPos+","+yPos+"]");}
}
public class RingTest {
public static void main(String[] args) {
Ring ring=new Ring(1,1,4,2,2,9); //Inner Circle xμ’ν, yμ’ν, λ°μ§λ¦, Outter Circle xμ’ν, yμ’ν, λ°μ§λ¦
ring.showRingInfo();
}
}
β λ΅μ μ½λ
class Point {
int xPos, yPos;
public Point(int x, int y) {
xPos=x;
yPos=y;
}
public void showPointInfo() {
System.out.println("["+xPos+","+yPos+"]");
}
}
class Circle {
Point p;
int r;
public Circle(int x, int y, int r) {
p = new Point(x, y); this.r = r;
}
public void showPointInfo() {
System.out.println("radius : " + r);
p.showPointInfo();
}
}
class Ring {
Circle c1, c2;
public Ring(int x1, int y1, int r1, int x2, int y2, int r2) {
c1 = new Circle(x1, y1, r1);
c2 = new Circle(x2, y2, r2);
}
public void showRingInfo() {
System.out.println("Inner Circle Info...");
c1.showPointInfo();
System.out.println("Outer Circle Info...");
c2.showPointInfo();
}
}
public class RingTest {
public static void main(String[] args) {
Ring ring = new Ring(1, 1, 4, 2, 2, 9); //Inner Circle xμ’ν, yμ’ν, λ°μ§λ¦, Outter Circle xμ’ν, yμ’ν, λ°μ§λ¦
ring.showRingInfo();
}
}
π λ¬Έμ
SimpleNumber ν΄λμ€λ μμ±μκ° private, μ¦ μΈλΆμμ μμ±νμ§ λͺ»νλ€. ν΄λμ€ μμμλ κ°λ₯.
μμ λ₯Ό λ³κ²½νμ¬ num1, num2κ° λμΌν μΈμ€ν΄μ€κ° λκ² λ³κ²½. SimpleNumberμ μΈμ€ν΄μ€κ° νλλ§ μμ±λκ² μ ν.
class SimpleNumber {
int num = 0;
private SimpleNumber() {}
public void addNum(int n) { num += n;}
public void showNum() {
System.out.println(num);
}
// νλμ staticμ΄ λΆμΌλ©΄
public static SimpleNumber getSimpleNumberInst() {
return new SimpleNumber();
}
}
public class OnlyOneInstance {
public static void main(String[] args) {
SimpleNumber num1 = SimpleNumber.getSimpleNumberInst();
num1.addNum(20);
SimpleNumber num2 = SimpleNumber.getSimpleNumberInst();
num2.addNum(30);
num1.showNum(); // 20 -> 50
num2.showNum(); // 30 -> 50
}
}
// SimpleNumber ν΄λμ€λ μμ±μκ° private, μ¦ μΈλΆμμ μμ±λͺ»ν¨. ν΄λμ€ μμμλ κ°λ₯.
//μμ λ₯Ό λ³κ²½νμ¬ num1, num2κ° λμΌν μΈμ€ν΄μ€κ° λκ² λ³κ²½. SimpleNumberμ μΈμ€ν΄μ€κ° νλλ§ μμ±λκ² μ ν.
β λ΅μ μ½λ 1)
class SimpleNumber {
int num = 0;
private SimpleNumber() {}
public void addNum(int n) { num += n;}
public void showNum() {
System.out.println(num);
}
private static SimpleNumber instance = new SimpleNumber();
public static SimpleNumber getInstance() {
return instance;
}
}
public class OnlyOneInstance {
public static void main(String[] args) {
SimpleNumber num1 = SimpleNumber.getInstance();
num1.addNum(20);
SimpleNumber num2 = SimpleNumber.getInstance();
num2.addNum(30);
// SimpleNumber num3 = SimpleNumber.getInstance();
// num3.addNum(80);
num1.showNum(); // 20 -> 50
num2.showNum(); // 30 -> 50
// num3.showNum();
}
}
2)
class SimpleNumber
{
int num=0;
private SimpleNumber() {}
public void addNum(int n) {num+=n;}
public void showNum() {System.out.println(num);}
public static SimpleNumber snInst = null;
public static SimpleNumber getSimpleNumberInst()
{
if(snInst==null)
snInst=new SimpleNumber();
return snInst;
}
}
public class OnlyOneInstance {
public static void main(String[] args) {
SimpleNumber num1=SimpleNumber.getSimpleNumberInst();
num1.addNum(20);
SimpleNumber num2=SimpleNumber.getSimpleNumberInst();
num2.addNum(30);
num1.showNum();
num2.showNum();
}
}
3)
class SimpleNumber {
int num = 0;
private SimpleNumber() {}
public void addNum(int n) { num += n;}
public void showNum() {
System.out.println(num);
}
private static SimpleNumber instance = new SimpleNumber();
// νλμ staticμ΄ λΆμΌλ©΄
public static SimpleNumber getSimpleNumberInst() {
return instance;
}
}
public class OnlyOneInstance {
public static void main(String[] args) {
SimpleNumber num1 = SimpleNumber.getSimpleNumberInst();
num1.addNum(20);
SimpleNumber num2 = SimpleNumber.getSimpleNumberInst();
num2.addNum(30);
num1.showNum(); // 20 -> 50
num2.showNum(); // 30 -> 50
}
}
π λ¬Έμ
String str="990208-1012752";
StringBuilderλ₯Ό νμ©νμ¬ - λ₯Ό μμ ν String μΈμ€ν΄μ€ μμ±νλΌ.
public class RemoveBar {
public static void main(String[] args) {
String str="990208-1012752";
System.out.println(str);
}
}
β λ΅μ μ½λ 1)
public class RemoveBar {
public static void main(String[] args) {
String str = "990208-1012752";
StringBuilder sbuf = new StringBuilder(str);
for(int i = 0; i < sbuf.length(); i++) {
if (sbuf.charAt(i) == '-') {
sbuf.deleteCharAt(i);
break;
}
}
str = sbuf.toString();
System.out.println(str);
}
}
λ¬Έμμ΄μ κΈΈμ΄λ₯Ό νμΈν΄μΌνλ―λ‘ lengthκ° μλλΌ length()λ₯Ό μ¬μ©νλ€.
* deleteCharAtλ StringBuilder ν΄λμ€μ λ΄μ₯λ λ©μλμ΄λ€.
2)
public class RemoveBar {
public static void main(String[] args) {
String str = "990208-1012752";
StringBuilder sbuf = new StringBuilder(str);
int idx = sbuf.lastIndexOf("-");
if (idx != -1) sbuf.deleteCharAt(idx);
str = sbuf.toString();
System.out.println(str);
}
}
π λ¬Έμ
intν 1μ°¨μ λ°°μ΄μ λ§€κ°λ³μλ‘ μ λ¬λ°μ μ΅λκ°, μ΅μκ°μ ꡬνμ¬ λ°ννλ λ©μλ ꡬννκΈ°
import java.util.Scanner;
public class ArrayMinMax {
public static int maxValue(int[] arr)
{
}
public static int minValue(int[] arr)
{
}
public static void main(String[] args) {
Scanner keyboard=new Scanner(System.in);
int[] intArr=new int[7];
for(int i=0; i<intArr.length; i++)
{
System.out.print("μ μ μ
λ ₯ : ");
intArr[i]=keyboard.nextInt();
}
System.out.println("μ΅μκ° : "+minValue(intArr));
System.out.println("μ΅λκ° : "+maxValue(intArr));
}
}
β λ΅μ μ½λ
// intν 1μ°¨μ λ°°μ΄μ λ§€κ°λ³μλ‘ μ λ¬λ°μ μ΅λκ°, μ΅μκ°μ ꡬνμ¬ λ°ννλ λ©μλ ꡬννκΈ°
import java.util.Scanner;
public class ArrayMinMax {
public static int maxValue(int[] arr) {
int max = arr[0];
for(int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
public static int minValue(int[] arr) {
int min = arr[0];
for(int i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int[] intArr = new int[7];
for(int i=0; i<intArr.length; i++)
{
System.out.print("μ μ μ
λ ₯ : ");
intArr[i]=keyboard.nextInt();
}
System.out.println("μ΅μκ° : "+ minValue(intArr));
System.out.println("μ΅λκ° : "+ maxValue(intArr));
}
}
π λ¬Έμ
addOneDArr λ©μλλ₯Ό μ΄μ©νμ¬ 2μ°¨μ λ°°μ΄μ κ° μμλ₯Ό μ λ ₯κ°λ§νΌ μ¦κ°μν€λ addTwoDArrν¨μλ₯Ό μμ±νλΌ.
public class TwoDimensionalArrayAdder {
public static void addOneDArr(int[] arr, int add)
{
for(int i=0; i<arr.length; i++)
arr[i]+=add;
}
public static void addTwoDArr(int[][] arr, int add)
{
}
public static void main(String[] args) {
int[][] arr= {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
addTwoDArr(arr, 2);
for(int i=0; i<arr.length; i++)
{
for(int j=0; j<arr[i].length; j++)
System.out.print(arr[i][j]+" ");
System.out.println("");
}
}
}
β λ΅μ μ½λ
public class TwoDimensionalArrayAdder {
public static void addOneDArr(int[] arr, int add) {
for(int i=0; i<arr.length; i++)
arr[i]+=add;
}
public static void addTwoDArr(int[][] arr, int add) {
// for(int i = 0 ; i < arr.length; i++) {
// for(int j = 0; j < arr[i].length; j++){
// arr[i][j] += add;
// }
// }
for(int i = 0; i < arr.length; i++) addOneDArr(arr[i],2);
}
public static void main(String[] args) {
int[][] arr= {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
addTwoDArr(arr, 2);
for(int i=0; i<arr.length; i++)
{
for(int j=0; j<arr[i].length; j++)
System.out.print(arr[i][j]+" ");
System.out.println("");
}
}
}
π λ¬Έμ
1 2 3
4 5 6
7 8 9
7 8 9
1 2 3
4 5 6
public class ShiftArray {
public static void shiftTwoDArr(int[][] arr)
{
}
public static void showTwoDArr(int[][] arr)
{
}
public static void main(String[] args) {
int[][] arr= {
{1,2,3},
{4,5,6},
{7,8,9}
};
System.out.println("1μ°¨ shift...");
shiftTwoDArr(arr);
showTwoDArr(arr);
System.out.println("2μ°¨ shift...");
shiftTwoDArr(arr);
showTwoDArr(arr);
System.out.println("3μ°¨ shift...");
shiftTwoDArr(arr);
showTwoDArr(arr);
}
}
β λ΅μ μ½λ
public class ShiftArray {
public static void shiftTwoDArr(int[][] arr) {
int[] temp = arr[arr.length-1]; // λ§μ§λ§ λ°°μ΄μ λν μ£Όμ μ 보 λ΄κΈ°
for(int i = arr.length-1; i > 0; i--) {
arr[i] = arr[i-1];
}
arr[0] = temp;
}
public static void showTwoDArr(int[][] arr) {
for(int i = 0 ; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
int[][] arr= {
{1,2,3},
{4,5,6},
{7,8,9}
};
System.out.println("1μ°¨ shift...");
shiftTwoDArr(arr);
showTwoDArr(arr);
System.out.println("2μ°¨ shift...");
shiftTwoDArr(arr);
showTwoDArr(arr);
System.out.println("3μ°¨ shift...");
shiftTwoDArr(arr);
showTwoDArr(arr);
}
}
π λ¬Έμ
λ€νμ±μΌλ‘ κ°μ κ²°κ³Όκ° λμ¬ μ μκ² κ΅¬ννμμ€.
μ λ ₯
class Box
{
public void simpleWrap(){System.out.println("simple wrap");}
}
class PaperBox extends Box
{
public void paperWrap() {System.out.println("paper wrap");}
}
class GoldPaperBox extends PaperBox
{
public void goldWrap() {System.out.println("gold wrap");}
}
class InstanceOf
{
public static void wrapBox(Box box)
{
if(box instanceof GoldPaperBox)
((GoldPaperBox)box).goldWrap();
else if(box instanceof PaperBox)
((PaperBox)box).paperWrap();
else
box.simpleWrap();
}
public static void main(String[] args)
{
Box box1=new Box();
PaperBox box2=new PaperBox();
GoldPaperBox box3=new GoldPaperBox();
wrapBox(box1);
wrapBox(box2);
wrapBox(box3);
}
}
μΆλ ₯
simple wrap
paper wrap
gold wrap
β λ΅μ μ½λ
class Box {
public void Wrap() {
System.out.println("simple wrap");
}
}
class PaperBox extends Box {
public void Wrap() {
System.out.println("paper wrap");
}
}
class GoldPaperBox extends PaperBox {
public void Wrap() {
System.out.println("gold wrap");
}
}
class InstanceOf {
public static void wrapBox(Box box) {
box.Wrap();
}
public static void main(String[] args) {
Box box1=new Box();
PaperBox box2=new PaperBox();
GoldPaperBox box3=new GoldPaperBox();
wrapBox(box1);
wrapBox(box2);
wrapBox(box3);
}
}
π λ¬Έμ
ManageStudent ν΄λμ€ μμ± mainν¨μ ν¬ν¨
λ°λ‘ Student ν΄λμ€λ₯Ό λ§λ€κ³ name, address, phone, email νλλ₯Ό μΆκ°.
λ€ νλλ₯Ό μ
λ ₯κ°μΌλ‘ μμ±μ μΆκ°
λ€ νλμ κ°μ΄ κ°μΌλ©΄ κ°μ κ°μ²΄λ‘ μΈμλλλ‘ equals λ©μλ μΆκ°.
ManageStudent ν΄λμ€μ mainμμ
Student a=new tudent("Min","Seoul","010XXXXXXXXX","ask@godofjava.com");
Student b=new tudent("Min","Seoul","010XXXXXXXXX","ask@godofjava.com");
κ°μ²΄ μμ±ν μ
λ ₯νμ¬ Equal λ€λ₯΄λ©΄ Not Equal μ μΆλ ₯νλλ‘ ν
μ€νΈ.
β μ λ΅ μ½λ
package exercises;
class Student {
String name, address, phone, email;
public Student(String name,String address,String phone,String email) {
this.name = name; this.address = address; this.phone = phone; this.email = email;
}
@Override
public boolean equals(Object obj) {
if (name == (((Student)obj).name) && address == (((Student)obj).address)
&& phone == (((Student)obj).phone) && email == (((Student)obj).email)) {
return true;
} else return false;
}
}
public class ManageStudent {
public static void main(String[] args) {
Student a = new Student("Min", "Seoul", "010XXXXXXXXX", "ask@godofjava.com");
Student b = new Student("Min", "Seoul", "010XXXXXXXXX", "ask@godofjava.com");
if (a.equals(b)) System.out.println("equal");
else System.out.println("not equal");
}
}
π» μΆλ ₯
equal
π λ¬Έμ
μ¬μ©μλ‘ λΆν° λκ°μ μ μλ₯Ό μ
λ ₯λ°μ λ μλ₯Ό ν¬ν¨νμ¬ κ·Έ μ¬μ΄μ μ μ 100κ°λ₯Ό μμλ‘ μΆλ ₯νλ
λ©μλλ₯Ό λ§λ€κ³ ν
μ€νΈνκΈ°.
import java.util.Random;
import java.util.Scanner;
public class Problem11 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("λ κ°μ μ μλ₯Ό μ
λ ₯νμΈμ");
int num1 = sc.nextInt();
int num2 = sc.nextInt();
if (num1 < num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
int length = num1 - num2 + 1;
Random rand = new Random();
for (int i = 0; i < 100; i++) {
System.out.print("μΆλ ₯" + i + ":");
System.out.println(rand.nextInt(length) + num2);
}
}
}