ไปๅบฆใซใฏ่จ็ฎๆฉใใญใฐใฉใ ใไฝใใพใใใใ ๆทปไปใใใJAVAใใคใซใฎไธญใซไธ่ถณใช้จๅใๅ ท็พใใฆใใ ใใใ
Calculator.java
package calProject;
import java.util.Scanner;
/* ๋ฌธ์์ด userInput1๊ณผ userInput2๋ฅผ ํค๋ณด๋ ์
๋ ฅ์ผ๋ก ๋ฐ์
* ์ ์ number1๊ณผ number2๋ก ๋ณํํ ๋ค์
* ์ฌ์น์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ๊ฐ ํ๋ฉด์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์
*/
public class Calculator {
public void cal(double number1, String inputOperator, double number2) {
if(inputOperator.equals("+"))
{
calPlus(number1, number2);
}
else if(inputOperator.equals("-"))
{
calMinus(number1, number2);
}
else if(inputOperator.equals("*"))
{
calMulti(number1, number2);
}
else if(inputOperator.equals("/") && number2 != 0)
{
calDiv(number1, number2);
//๋ถ๋ชจ๊ฐ 0์ธ ๊ฒฝ์ฐ ์ด๋ค ๊ฐ์ด ๋์ค๋์ง ์ฒดํฌ = infinity์ธ๋ฐ ์ถ๊ฐ ์กฐ๊ฑด์ ๋ก ๋ถ๋ชจ๊ฐ 0์ผ ๊ฒฝ์ฐ ๋ฉ์ธ์ง ์ถ๋ ฅ
}
else if(inputOperator.equals("%") && number2 != 0){
calMod(number1, number2);
}
else if(inputOperator.equals("/") && number2 == 0 ){
//๋๋์
์ผ ๋ ๋ถ๋ชจ๊ฐ 0์ผ ๊ฒฝ์ฐ ์ค๋ฅ ๋ฉ์์ง ์ถ๋ ฅ
System.out.println("0์ผ๋ก๋ ๋๋์ ์์ต๋๋ค.");
}else {
//% ๋ชซ์ ๊ตฌํ ๋ ๋๋ฒ์งธ ์์ 0์ด ๋ค์ด์ฌ ๊ฒฝ์ฐ ์ค๋ฅ ๋ฉ์์ง ์ถ๋ ฅ
System.out.println("์ ์๋์ง ์์ ๊ฒฐ๊ณผ๋ฌผ์
๋๋ค.");
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Calculator calc = new Calculator();
double number1 = 0, number2 = 0; //์
String inputOperator ; //์ฐ์ฐ์
boolean isStop = false; //do~while ์ฌ์ฉ
// input
do {
try {
System.out.print("์ฒซ ๋ฒ์งธ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์ :");
String userInput1 = scan.nextLine();
number1 = Double.parseDouble(userInput1);
System.out.print("๋ ๋ฒ์งธ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์ :");
String userInput2 = scan.nextLine();
number2 = Double.parseDouble(userInput2);
isStop = true;
} catch (NumberFormatException e) {
System.out.println("์
๋ ฅ์ด ์๋ชป๋์์ต๋๋ค. ๋ค์ ์
๋ ฅํด์ฃผ์ธ์.");
}
}while(!isStop);
isStop = false;
do {
System.out.print("์ฐ์ฐ์๋ฅผ ์
๋ ฅํดํ์ธ์ :");
inputOperator = scan.nextLine();
if(inputOperator.equals("+") || inputOperator.equals("-") ||
inputOperator.equals("*") || inputOperator.equals("/") || inputOperator.equals("%")) {
isStop = true;
}else {
System.out.println("์
๋ ฅ์ด ์๋ชป๋์์ต๋๋ค. ๋ค์ ์
๋ ฅํด์ฃผ์ธ์.");
}
}while(!isStop);
//๊ณ์ฐ
calc.cal(number1, inputOperator, number2);
}
public Object calPlus(double number1, double number2) {
System.out.println("======================");
System.out.print(number1);
System.out.print(" + ");
System.out.print(number2);
System.out.print(" = ");
//output
System.out.println(number1 + number2);
return number1 +number2;
}
public Object calMinus(double number1, double number2) {
System.out.println("======================");
System.out.print(number1);
System.out.print(" - ");
System.out.print(number2);
System.out.print(" = ");
//output
System.out.println(number1 - number2);
return number1 - number2;
}
public Object calMulti(double number1, double number2) {
System.out.println("======================");
System.out.print(number1);
System.out.print(" * ");
System.out.print(number2);
System.out.print(" = ");
//output
System.out.println(number1 * number2);
return number1 * number2;
}
public Object calDiv(double number1, double number2) {
System.out.println("======================");
System.out.print(number1);
System.out.print(" / ");
System.out.print(number2);
System.out.print(" = ");
//output
System.out.println(number1 / number2);
return number1 / number2;
}
public Object calMod(double number1, double number2) {
System.out.println("======================");
System.out.print(number1);
System.out.print(" % ");
System.out.print(number2);
System.out.print(" = ");
//output
System.out.println(number1 % number2);
return number1 % number2;
}
}
CalculatorTest.java
package calProject;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class CalculatorTest {
@Before
public void setUp() throws Exception {
}
@Test
public void test() {
Calculator cal = new Calculator();
assertEquals(1.0,cal.calPlus(1,0));
assertEquals(1.0,cal.calMinus(1,0));
assertEquals(1.0,cal.calMulti(1,1));
assertEquals(1.0,cal.calDiv(1,1));
assertEquals(1.0,cal.calMod(3,1));
}
}
ๆๅญๅใฎ้ทใใ๏ผใพใใฏ๏ผใงใๆฐๅญใ ใใงๆงๆใใใฆใใใใ็ขบ่ชใใฆใใใ้ขๆฐใใฝใชใฅใผใทใงใณใๅฎๆใใฆใใ ใใใไพใใฐใsใa234ใชใใfalseใใชใฟใผใณใใ1234ใชใtrueใใชใฟใผใณใใพใใ
๊นํ๋ธ๋ฅผ ์ ๋๋ก ๋ค๋ฃจ๊ธฐ ์ํด ๊ธฐ์ด์ ์ธ ๋ช ๋ น์ด๋ถํฐ ์ตํ์ง ์์ผ๋ฉด ์๋ ๊ฒ ๊ฐ์๋ค.
๊ทธ๋์, Git ์์ฒด๋ง์ ๋ค๋ค๋ณด๊ณ ๋ง์ ธ๋ณด๋ฉด์ ์ตํ๊ธฐ๋ก ํ๋ค.
์์ง ๋ฏธ์ํ ์ ์ Branch ํ์ฉ, reset๊ณผ revert ํ์ฉ์ ํ์ง ๋ชปํ๋ ์ .
git version โ๋ฒ์ ๋ณด๊ธฐ
1.์ฌ์ฉ์๋ฑ๋ก
git config โglobal user.name โ์ฌ์ฉ์ ์ด๋ฆโ
git config โglobal user.eamil ์ด๋ฉ์ผ โ์ฒซ ์ค์น ์ดํ ์ฌ์ฉ์๋ฑ๋ก์ผ๋ก ์ปค๋ฐ ์ ์ ์ฅ์์ ์ ์ค์ ์ผ๋ก ์ ๋ณด๊ฐ ๋จ๋๋ค.
2.์ ์ฅ์๋ง๋ค๊ธฐ
git init โ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์์ ์ ์์ํ๋ค. ์คํ์ .git ๋๋ ํ ๋ฆฌ ์์ฑ๋จ
git status โ ์ด๋ค ํ์ผ์ด ์ด๋ค ์ํ์ธ์ง ํ๋ณํ๋ค.
git add * ๋๋ ํ์ผ๋ช .ํ์ฅ์ โ ์์ ๋๊ฑฐ๋ ์ถ๊ฐ๋ ํ์ผ์ ์ธ๋ฑ์ค์ ์ ๋ฐ์ดํธ ํ๋ค.
git commit -m โ์ปค๋ฐ์ ๋ํ ์ค๋ช โ โ ์ธ๋ฑ์ค์ ๋์ ๋ ๋ณ๊ฒฝ์ฌํญ์ด ํ์ ๋๊ณ ์ปค๋ฐ์ ๋ํ์ค๋ช log ๋จ๋๋ค. (์ ์ธ)
git push โ ์ ์ธ๋ ๋ณ๊ฒฝ์ฌํญ๋ค์ด ์ ์ฅ์์ ์ ๋ฐ์ดํธ๊ฐ ๋๋ค.
git clone ์ฃผ์ (github ํํ์ด์ง์์ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ๊ธฐ) โ ๊นํ๋ธ ์ ์ฅ์์ ์๋ ๋ด์ฉ/์ ์์ pc ๋๋ ํ ๋ฆฌ์ ๊ฐ์ ธ์จ๋ค.
3.๋ธ๋์น๋ง๋ค๊ธฐ
git branch ๋ธ๋์น๋ช โ ๋ธ๋์น ์์ฑ
git branch โ ๋ธ๋์น ๋ชฉ๋ก ๋ฐ ํ์ฑํ๋ ๋ธ๋์น๋ฅผ ํ์ธํ ์ ์๋ค.
git checkout ๋ธ๋์น๋ช โ ๋ธ๋์น ์ ํ
git merge ๋ณํฉํ ๋ธ๋์น๋ช โ ๋ธ๋์น ๋ณํฉ
git branch -d ๋ธ๋์น๋ช โ ๋ธ๋์น ์ญ์
*๊ฐ์ ์์น์ ๋์์ ์์ ์
๊ฐ์ ์์ฒด ๋ธ๋์น๋ฅผ ๋ค์ค์์ฑํ์ฌ ์์ ์ ํ๋ฉด๋๋ค.
โป ๊ฐ ๋ธ๋์น๋ง๋ค ์ปค๋ฐ์ ๋์์น์์ ๊ฐ๊ฐ์ ๊ฐ์ง๋ก ๋ป๊ฒ๋๋ค.
โป ์ฒซ ๋ธ๋์น ๋ณํฉํ, ์ถฉ๋์(CONFLICT)๋ฉ์์ง์ ์ถฉ๋ ์์น๋ฅผ ์๋ ค์ค๋ค.
์ถฉ๋ ์์น๋ฅผ ์ผ์ผ์ด ํ์ธํ์ฌ ์์ ํ ๋ณํฉํด์ค์ผํ๋ค.
4.๊ณผ๊ฑฐ๋ก ๋๋ฆฌ๊ธฐ
git log โ ์ปค๋ฐ ๋ก๊ทธ ํ์ธํ๋ค.
git reset โhard ๋์๊ฐ ๋ถ๋ถ(commit ID) โ ์ด์ ์ฌ๊ฑด์ ์ฐ๊ณ ์๊ฐ๋๋ฆฌ๊ธฐ
git revert ํ์ฌ(commit ID) ๊ณผ๊ฑฐ(commit ID) โ ์ด๋ ฅ์ด ์๊ธฐ๊ณ ํน์ ์ฌ๊ฑด์ ์ง์ด๋ค.
ํ๋์ฉ๋ณด์ํ๊ณ ๋ฐ์ ๋๊ฐ๋ ๋ชจ์ต์ ๋ณด์ฌ์ค.