/* Shawn C. Stalder From_Base.java Objectives: 1) Convert from any base chosen by the user to base 10 */ // imports import javax.swing.*; import java.awt.*; import java.applet.*; import java.awt.event.*; import java.text.*; public class From_Base extends Applet implements ActionListener { // globals private int num[]; // buttons, textbox, textarea private TextField txt_num; private TextField txt_base; private Button btn_con; private Button btn_clear; private TextArea txa_result; // Fonts private Font Arial; private Font Norm; public void init() { setLayout(null); // set objects txt_num = new TextField(); txt_base = new TextField(); btn_con = new Button("Convert"); btn_clear = new Button("Clear"); txa_result = new TextArea(); // position objects txt_num.setBounds(10, 40, 120, 40); txt_base.setBounds(140, 40, 50, 40); btn_con.setBounds(10, 90, 120, 40); btn_clear.setBounds(140, 90, 120, 40); txa_result.setBounds(10, 140, 400, 60); // add objects to the form add(txt_num); add(txt_base); add(btn_con); add(btn_clear); add(txa_result); // set action listener to button btn_con.addActionListener(this); btn_clear.addActionListener(this); // initialize font Arial = new Font("Arial", Font.PLAIN, 28); Norm = new Font("Arial", Font.BOLD, 18); setFont(Arial); } public void actionPerformed(ActionEvent e) { Object source = e.getSource(); if(source == btn_con) { // variables String input; int base; int size; int temp1; int ans; // get size input = txt_num.getText(); input = input.trim(); size = input.length(); System.out.println(input); System.out.println(size); // set number into array and convert letters to numbers num = new int[size]; for(int i = 0; i < size; i++) { if(input.charAt(i) == 'A' || input.charAt(i) == 'a') { num[i] = 10; } else if(input.charAt(i) == 'B' || input.charAt(i) == 'b') { num[i] = 11; } else if(input.charAt(i) == 'C' || input.charAt(i) == 'c') { num[i] = 12; } else if(input.charAt(i) == 'D' || input.charAt(i) == 'd') { num[i] = 13; } else if(input.charAt(i) == 'E' || input.charAt(i) == 'e') { num[i] = 14; } else if(input.charAt(i) == 'F' || input.charAt(i) == 'f') { num[i] = 15; } else if(input.charAt(i) == 'G' || input.charAt(i) == 'g') { num[i] = 16; } else if(input.charAt(i) == 'H' || input.charAt(i) == 'h') { num[i] = 17; } else if(input.charAt(i) == 'I' || input.charAt(i) == 'i') { num[i] = 18; } else if(input.charAt(i) == 'J' || input.charAt(i) == 'j') { num[i] = 19; } else if(input.charAt(i) == 'K' || input.charAt(i) == 'k') { num[i] = 20; } else if(input.charAt(i) == 'L' || input.charAt(i) == 'l') { num[i] = 21; } else if(input.charAt(i) == 'M' || input.charAt(i) == 'm') { num[i] = 22; } else if(input.charAt(i) == 'N' || input.charAt(i) == 'n') { num[i] = 23; } else if(input.charAt(i) == 'O' || input.charAt(i) == 'o') { num[i] = 24; } else if(input.charAt(i) == 'P' || input.charAt(i) == 'p') { num[i] = 25; } else if(input.charAt(i) == 'Q' || input.charAt(i) == 'q') { num[i] = 26; } else if(input.charAt(i) == 'R' || input.charAt(i) == 'r') { num[i] = 27; } else if(input.charAt(i) == 'S' || input.charAt(i) == 's') { num[i] = 28; } else if(input.charAt(i) == 'T' || input.charAt(i) == 't') { num[i] = 29; } else if(input.charAt(i) == 'U' || input.charAt(i) == 'u') { num[i] = 30; } else if(input.charAt(i) == 'V' || input.charAt(i) == 'v') { num[i] = 31; } else if(input.charAt(i) == 'W' || input.charAt(i) == 'w') { num[i] = 32; } else if(input.charAt(i) == 'X' || input.charAt(i) == 'x') { num[i] = 33; } else if(input.charAt(i) == 'Y' || input.charAt(i) == 'y') { num[i] = 34; } else if(input.charAt(i) == 'Z' || input.charAt(i) == 'z') { num[i] = 35; } else { temp1 = input.charAt(i) - 48; num[i] = temp1; } } // get base input = txt_base.getText(); input = input.trim(); base = Integer.parseInt(input); // display converted answer ans = Convert(num, base, size); txa_result.setText(""); txa_result.append(String.valueOf(ans)); } else if(source == btn_clear) { txt_num.setText(""); txt_base.setText(""); txa_result.setText(""); } } public int Convert(int num[], int base, int size) { int temp = 0; int i = 0; do { temp = (temp * base) + num[i]; System.out.println(temp); i++; }while(i < size); return temp; } public void paint(Graphics g) { setSize(430, 210); setBackground(new Color(0, 100, 200)); g.setFont(Norm); g.drawString("Number", 10, 30); g.drawString("Base", 140, 30); } }