Computer Science Canada What is wrong with my program? |
Author: | Agreyscape [ 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] |
Author: | Barbarrosa [ 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:
You seem to have a problem with the ordering. Class definitions should come before their constructors are called (when called outside the class, anyway).
|
Author: | Agreyscape [ 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.
|