Fate1
Apprentice

- Joined
- Apr 21, 2005
- Sythe Gold
- 5
- Messages
- 773
- Age
- 34
Well I made a Combat Calculator for Runescape. It looks like it will run fine to me but I get this error.
Here is my source:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:497)
at RunescapeCalc.calculate(RunescapeCalc.java:100)
at RunescapeCalc.actionPerformed(RunescapeCalc.java:92)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5517)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3129)
at java.awt.Component.processEvent(Component.java:5282)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3984)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Here is my source:
Code:
/**
* @(#)RunescapeCalc.java
*
* JFC RunescapeCalc application
*
* @author Fate
* @version 1.00 2010/1/9
*/
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class RunescapeCalc extends JFrame implements ActionListener {
public static void main(String[] args) {
RunescapeCalc frame = new RunescapeCalc();
frame.show();
}
JButton calculate = new JButton("Calculate");
JButton exit = new JButton("Exit");
JLabel attackLbl = new JLabel("Attack:");
JLabel strLbl = new JLabel("Strength:");
JLabel defLbl = new JLabel("Defense:");
JLabel hpLbl = new JLabel("Hit Points:");
JLabel rangeLbl = new JLabel("Range:");
JLabel mageLbl = new JLabel("Magic: ");
JLabel prayLbl = new JLabel("Prayer:");
JLabel summonLbl = new JLabel("Summoning:");
JLabel combatLbl = new JLabel("Combat: ");
String attackStr = "";
String strStr = "";
String defStr = "";
String hpStr = "";
String rangeStr = "";
String mageStr = "";
String prayStr = "";
String summonStr = "";
String combatStr = "";
JTextField attackTxt = new JTextField(attackStr,2);
JTextField strTxt = new JTextField(strStr,2);
JTextField defTxt = new JTextField(defStr,2);
JTextField hpTxt = new JTextField(hpStr,2);
JTextField rangeTxt = new JTextField(rangeStr,2);
JTextField mageTxt = new JTextField(mageStr,2);
JTextField prayTxt = new JTextField(prayStr,2);
JTextField summonTxt = new JTextField(summonStr,2);
JTextField combatTxt = new JTextField(combatStr,3);
public RunescapeCalc() {
setTitle("Combat Calculator");
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new FlowLayout());
calculate.addActionListener(this);
exit.addActionListener(this);
add(attackLbl);
add(attackTxt);
add(strLbl);
add(strTxt);
add(defLbl);
add(defTxt);
add(hpLbl);
add(hpTxt);
add(rangeLbl);
add(rangeTxt);
add(mageLbl);
add(mageTxt);
add(prayLbl);
add(prayTxt);
add(summonLbl);
add(summonTxt);
add(combatLbl);
add(combatTxt);
add(calculate);
add(exit);
combatTxt.setEnabled(false);
setVisible(true);
pack();
}
public void actionPerformed(ActionEvent ae) {
Object source = ae.getSource();
if(source.equals(calculate)) {
calculate();
}
if(source.equals(exit)) {
System.exit(0);
}
}
public void calculate() {
int attack = Integer.parseInt(attackStr);
int strength =Integer.parseInt(strStr);
int defense = Integer.parseInt(defStr);
int hp = Integer.parseInt(hpStr);
int range = Integer.parseInt(rangeStr);
int mage = Integer.parseInt(mageStr);
int prayer = Integer.parseInt(prayStr);
int summoning = Integer.parseInt(summonStr);
int melee = (1/4)*((13/10)*(attack+strength)+defense+hp+(1/2)*prayer+(1/2)*summoning);
int rangeTtl = (1/4)*((13/10)*(3/2)*(range)+defense+hp+(1/2)*prayer+(1/2)*summoning);
int magicTtl = (1/4)*((13/10)*(3/2)*(mage)+defense+hp+(1/2)*prayer+(1/2)*summoning);
if(melee > rangeTtl && melee > magicTtl) {
combatStr = Integer.toString(melee);
combatTxt.setText(combatStr);
}
else
if(rangeTtl > melee && rangeTtl > magicTtl) {
combatStr = Integer.toString(rangeTtl);
combatTxt.setText(combatStr);
}
else
if(magicTtl > melee && magicTtl > rangeTtl) {
combatStr = Integer.toString(magicTtl);
combatTxt.setText(combatStr);
}
}
}

