Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 What is wrong with my program?
Index -> Programming, Java -> Java Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh pageAdd this topic to your bookmarks (CTRL-D) View next topic
Author Message
Agreyscape




PostPosted: Tue Jan 12, 2010 2:10 pm   Post subject: What is wrong with my program?

Quote:
/*Computer Science summative
* Mr. Paterson
* January 11, 2010
*Agrey the rat amd Raagu the hippo */

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.Scanner;
public class ClassSummative // Names package
{
public static void main (String[] args)
{
int loop1 = 1;
while (loop1 == 1){
double number1 = 0; // Declaring number1 as a double
double number2 = 0; // Declaring number2 as a double
double number3 = 0; // Declaring number3 as a double
double number4 = 0; // Declaring number4 as a double
double number5 = 0; // Declaring number5 as a double
double number6 = 0; // Declaring number6 as a double
double number7 = 0; // Declaring number7 as a double
double number8 = 0; // Declaring number8 as a double
int answer = 0; // Declaring answer as an interger
int answer1 = 0; // Declaring answer1 as an interger
int answer2 = 0; // Declaring answer2 as an interger
int answer3 = 4; // Declaring answer3 as an interger
int answer4 = 0; // Declaring answer4 as an interger
int answer5 = 0; // Declaring answer5 as an interger
Scanner input = new Scanner (System.in); // Declaring new Scanner

if (answer4 >2 || answer4 <1) { // If numbers are greater then 4 then out print this
System.out.println ("Would you like to use a calculator(1), average your mark(2) or convert temperature(3)?"); // Asking user what to do
answer4 = input.nextInt();
}
if (answer4 == 1) {
while (answer2 >4 || answer2 <1) { // Looping this question if answer is invalid
System.out.println ("Would you like to multiply(1), add(2), subtract(3) or divide(4)?"); // Outputting text to screen
answer2 = input.nextInt(); // Letting the user type an answer
if (answer2 >4 || answer2 <1) { // If numbers are greater then 4 then out print this
System.out.println ("That is not an option. Try again"); // Out printing text
}
}
System.out.println ("How many number do you wish to input?(4 limit)"); // Outputting text to screen
answer3 = input.nextInt(); // Letting the user type an answer

if (answer3 == 2){ // If the answer to the question = 2 then run this

if (answer2 == 1) { // If the answer to the question = 1 then run this
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble (); // Allows user to input an integer
number2 = input.nextDouble (); // Allows user to input an integer
System.out.println ("Answer is:" +number1 * number2); // Out printing text to screen with answer
}
else if (answer2 == 2) { // If the answer to the question = 2 then run this
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble (); // Allows user to input an integer
number2 = input.nextDouble (); // Allows user to input an integer
System.out.println ("Answer is:" +(number1 + number2)); // Out printing text to screen with answer
}
else if (answer2 == 3) { // If the answer to the question = 3 then run this
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble(); // Allows user to input an integer
number2 = input.nextDouble(); // Allows user to input an integer
System.out.println ("Answer is:" +(number1 - number2)); // Out printing text to screen with answer
}
else if (answer2 == 4) { // If the answer to the question = 4 then run this
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble(); // Allows user to input an integer
number2 = input.nextDouble(); // Allows user to input an integer
System.out.println ("Answer is:" +(number1 / number2)); // Out printing text to screen with answer
}
}
if (answer3 == 3) // If the answer to the question = 3 then run this
{
if (answer2 == 1) // If the answer to the question = 1 then run this
{
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble (); // Allows user to input an integer
number2 = input.nextDouble (); // Allows user to input an integer
number3 = input.nextDouble (); // Allows user to input an integer
System.out.println ("Answer is:" +number1 * number2 * number3); // Out printing text to screen with answer
}
else if (answer2 == 2) // If the answer to the question = 2 then run this
{
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble (); // Allows user to input an integer
number2 = input.nextDouble (); // Allows user to input an integer
number3 = input.nextDouble (); // Allows user to input an integer
System.out.println ("Answer is:" +(number1 + number2 + number3)); // Out printing text to screen with answer
}
else if (answer2 == 3) // If the answer to the question = 3 then run this
{
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble(); // Allows user to input an integer
number2 = input.nextDouble(); // Allows user to input an integer
number3 = input.nextDouble(); // Allows user to input an integer
System.out.println ("Answer is:" +(number1 - number2 - number3)); // Out printing text to screen with answer
}
else if (answer2 == 4) // If the answer to the question = 4 then run this
{
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble(); // Allows user to input an integer
number2 = input.nextDouble(); // Allows user to input an integer
number3 = input.nextDouble (); // Allows user to input an integer
System.out.println ("Answer is:" +(number1 / number2 / number3)); // Out printing text to screen with answer
}
}
if (answer3 == 4) // If the answer to the question = 4 then run this
{
if (answer2 == 1) // If the answer to the question = 1 then run this
{
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble (); // Allows user to input an integer
number2 = input.nextDouble (); // Allows user to input an integer
number3 = input.nextDouble (); // Allows user to input an integer
number4 = input.nextDouble (); // Allows user to input an integer
System.out.println ("Answer is:" +number1 * number2 * number3 * number4); // Out printing text to screen with answer
}
else if (answer2 == 2) // If the answer to the question = 2 then run this
{
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble (); // Allows user to input an integer
number2 = input.nextDouble (); // Allows user to input an integer
number3 = input.nextDouble (); // Allows user to input an integer
number4 = input.nextDouble (); // Allows user to input an integer
System.out.println ("Answer is:" +(number1 + number2 + number3 + number4)); // Out printing text to screen with answer
}
else if (answer2 == 3) // If the answer to the question = 3 then run this
{
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble(); // Allows user to input an integer
number2 = input.nextDouble(); // Allows user to input an integer
number3 = input.nextDouble(); // Allows user to input an integer
number4 = input.nextDouble (); // Allows user to input an integer
System.out.println ("Answer is:" +(number1 - number2 - number3 - number4)); // Out printing text to screen with answer
}
else if (answer2 == 4) // If the answer to the question = 4 then run this
{
System.out.println ("Enter numbers:"); // Telling user to input numbers
number1 = input.nextDouble(); // Allows user to input an integer
number2 = input.nextDouble(); // Allows user to input an integer
number3 = input.nextDouble (); // Allows user to input an integer
number4 = input.nextDouble (); // Allows user to input an integer
System.out.println ("Answer is:" +(number1 / number2 / number3 / number4)); // Out printing text to screen with answer
}
}
System.out.println ("Would you like to reset the program?(Anything other then 1&2 will close the program)"); // Out printing question
System.out.println ("(1)Yes"); // Out printing choices
System.out.println ("(2)No"); // Out printing choices
loop1 = input.nextInt(); // Allowing user to input text
}
else if (answer4 == 2) {
System.out.println ("How many number do you wish to input?(4 limit)"); // Outputting text to screen
answer5 = input.nextInt(); // Letting the user type an answer

if (answer5 == 2) {
System.out.println ("Enter numbers:"); // Telling user to input numbers
number5 = input.nextDouble(); // Allows user to input an integer
number6 = input.nextDouble(); // Allows user to input an integer
System.out.println ("Answer is:" +(number5 + number6) /2); // Out printing text to screen with answer
}
else if (answer5 == 3) {
System.out.println ("Enter numbers:"); // Telling user to input numbers
number5 = input.nextDouble(); // Allows user to input an integer
number6 = input.nextDouble(); // Allows user to input an integer
number7 = input.nextDouble(); // Allows user to input an integer
System.out.println ("Answer is:" +(number5 + number6 + number7) /3); // Out printing text to screen with answer
}
else if (answer5 == 4) {
System.out.println ("Enter numbers:"); // Telling user to input numbers
number5 = input.nextDouble(); // Allows user to input an integer
number6 = input.nextDouble(); // Allows user to input an integer
number7 = input.nextDouble(); // Allows user to input an integer
number8 = input.nextDouble(); // Allows user to input an integer
System.out.println ("Answer is:" +(number5 + number6 + number7 + number8) /4); // Out printing text to screen with answer
}
System.out.println ("Would you like to reset the program?(Anything other then 1&2 will close the program)"); // Out printing question
System.out.println ("(1)Yes"); // Out printing choices
System.out.println ("(2)No"); // Out printing choices
loop1 = input.nextInt(); // Allowing user to input text

} // Closes while
else if (answer4 == 3) {
JFrame frame;
JPanel contentPane;
final JLabel prompt1, stat;
final JTextField temp1;
JButton convButton;
frame = new JFrame("Temperature Converter");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

contentPane = new JPanel();
contentPane.setLayout(new GridLayout(0, 2, 10, 5));
contentPane.setBorder(BorderFactory.createEmptyBorder
(10, 10, 10, 10));
prompt1 = new JLabel ("Enter the temperature in celcius: ");
contentPane.add(prompt1);

temp1 = new JTextField(10);
contentPane.add(temp1);


convButton = new JButton("Convert to fahrenheit");
convButton.addActionListener(new AvgListener());
contentPane.add(convButton);

stat = new JLabel(" F");
stat.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0));
contentPane.add(stat);

frame.setContentPane(contentPane);

frame.pack();
frame.setVisible(true);


class AvgListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
double avgTemp;
String t1 = temp1.getText();

avgTemp = (double)9/(double)5*(Double.parseDouble(t1)) + 32;
stat.setText(Double.toString(avgTemp));
}
}
}
} // Closes loop6
} // Closes main method
} // Closes program


Everything works fine but the temp converter. When I enter a number and click convert it doesn't do it. Please help.[/quote]
 
Sponsor
Sponsor
Sponsor
sponsor
Barbarrosa




PostPosted: Tue Jan 12, 2010 4:17 pm   Post subject: Re: What is wrong with my program?

Welcome to Computer Science Canada.

First, a few recommendations about code comments:

    Don't comment every single line unless it's necessary or particularly helpful.
    Over-commenting is never a replacement for writing helpful comments.
    Try commenting at the top about the general purpose of the program, and then describe each different section. Apply this to the code here, too.


Also, please use "code" or "syntax" tags around code in your posts. For example:
code:
[code="java"] ... [/code]


You seem to have a problem with the ordering. Class definitions should come before their constructors are called (when called outside the class, anyway).

Java:

convButton = new JButton("Convert to fahrenheit");
convButton.addActionListener(new AvgListener());//look here
contentPane.add(convButton);

stat = new JLabel(" F");
stat.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0));
contentPane.add(stat);

frame.setContentPane(contentPane);

frame.pack();
frame.setVisible(true);


class AvgListener implements ActionListener {//look here
public void actionPerformed(ActionEvent event) {
double avgTemp;
String t1 = temp1.getText();

avgTemp = (double)9/(double)5*(Double.parseDouble(t1)) + 32;
stat.setText(Double.toString(avgTemp));
}
 
Agreyscape




PostPosted: Tue Jan 12, 2010 5:52 pm   Post subject: Re: What is wrong with my program?

Ok so I put the class AvgListener first and now when I run it there is no convert button its pretty much a dead box.


Java:
        class AvgListener implements ActionListener {//look here
          public void actionPerformed(ActionEvent event) {
            double avgTemp;
            String t1 = temp1.getText();
           
            convButton.addActionListener(new AvgListener());//look here
            contentPane.add(convButton);
            avgTemp = (double)9/(double)5*(Double.parseDouble(t1)) + 32;
            stat.setText(Double.toString(avgTemp));
          }
 
Display posts from previous:   
   Index -> Programming, Java -> Java Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh pageAdd this topic to your bookmarks (CTRL-D) View next topic

Page 1 of 1  [ 3 Posts ]
Jump to:   


Style:  
Search: