본문 바로가기

Java

개발학습일지 - 2

제어문까지의 학습을 끝냈다.
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