제어문까지의 학습을 끝냈다.
2차원 배열에서 약간 헷갈렸지만
전체적으로는 예전에도 접해본 내용이라 어려운게 없었다.
실습을 겸해서 간단한 계산코드와 로그인 코드를 짰다.
import javax.swing.JOptionPane;
public class methodTest {
public static double valueOfSupply = Double.parseDouble(JOptionPane.showInputDialog("공급가를 입력하세요"));
public static double vatRate = (Double.parseDouble(JOptionPane.showInputDialog("부가가치세율을 입력하세요(%)")) * 0.01);
public static double getVAT() {
return valueOfSupply * vatRate;
}
public static double getTotal() {
return valueOfSupply + getVAT();
}
public static void main(String[] args) {
System.out.println("공급가 : " + valueOfSupply);
System.out.println("부가가치세 : " + getVAT());
System.out.println("소비자희망가 : " + getTotal());
}
}
|
cs |
간단할것이라 생각했는데 생각보다 우여곡절이 있었다.
콘솔창 대신 메세지박스로 결과값을 받아보려고 JOptionPane클래스를 활용하고 싶었는데
입력값을 String 이외의 타입으로 받는방법을 아무리 찾아봐도 알수가 없었다.
결국 parse메소드를 이용해서 타입변환법을 익히게 되었다.
import javax.swing.JOptionPane;
public class authApp {
public static void main(String[] args) {
String[][] users = {
{"aaaa", "1111"},
{"bbbb", "2222"},
{"cccc", "3333"},
{"dddd", "4444"}
};
boolean wrongId = true;
String inputId = JOptionPane.showInputDialog("아이디를 입력하세요.");
for (int i = 0; i < users.length; i++) {
String[] current = users[i];
if (current[0].equals(inputId)) {
String inputPass = JOptionPane.showInputDialog("비밀번호를 입력하세요.");
wrongId = false;
if (current[1].equals(inputPass)) {
JOptionPane.showMessageDialog(null, "환영합니다." + inputId + "님.", "Login Success", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "비밀번호가 일치하지 않습니다", "Login Failed", JOptionPane.INFORMATION_MESSAGE);
}
}
}
if (wrongId) {
JOptionPane.showMessageDialog(null, "일치하는 ID가 없습니다.", "Login Failed", JOptionPane.INFORMATION_MESSAGE);
}
}
}
|
cs |
로그인코드에선 비밀번호 대조후 결과를 출력하는 과정이 매 반복사이클마다 실행되는 문제가 있었다.
처음엔 비밀번호 대조 if문의 위치를 이동시켜서 해결하려고 했는데 방법이 보이지 않아
로그인상태를 체크하는 변수를 따로 만들어 해결했다.
참 별거없는 코드지만 구색을 갖춘 첫 결과물이라
JSmooth를 이용해서 실행파일로 만들어 타임캡슐처럼 간직하기로 했다.
'Java' 카테고리의 다른 글
vscode에서 args[]값 입출력하기 (0) | 2021.10.09 |
---|---|
중첩 for문을 이용하여 다이아몬드 그리기 (0) | 2021.10.06 |
개발학습일지 - 4 (0) | 2021.10.05 |
개발학습일지 - 3 (0) | 2021.10.05 |
개발학습일지 - 1 (0) | 2021.10.05 |