You are on page 1of 5

/*

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);
}
}

You might also like