2015-05-20 25 views
6

Tôi là người mới bắt đầu sử dụng Java, bắt đầu cách đây hai tuần và có vấn đề trong đầu tôi xung quanh vấn đề này. Tôi có một vấn đề trong một lớp học mà tôi đang dùng đã được đưa lên trước đó. Chuyển đổi kilogram thành pound và làm tròn đến vị trí thập phân thứ hai.Đầu vào/Đầu ra - Phương trình số học

Tôi có thể tạo mặt nhập của mọi thứ và hiển thị hộp thoại để nhắc người dùng nhập cân. Tôi cũng có thể tạo ra một đầu ra sử dụng một phương trình tôi đã thực hiện để xuất ra câu trả lời trong một hộp thoại.

Câu hỏi của tôi là làm cách nào để lấy thông tin được nhập và sử dụng thông tin đó để chuyển đổi từ kilôgam sang kg?

Tôi đã đọc sách của mình và tìm kiếm trên internet để tìm câu trả lời và tôi nghĩ rằng tôi có thể nghĩ về nó. Cảm ơn đã giúp đỡ.

Input.java:

//This program asks a user to input a weight in kilograms. 

package module2; 

import javax.swing.*; 

public class Input { 

    public static void main(String[] args) { 

     String weight; 

     weight = JOptionPane.showInputDialog("Enter weight in kilograms"); 
    } 
} 

Output.java:

//This program outputs a converted weight from kilograms to pounds. 

package module2; 

import javax.swing.JOptionPane; 

public class Output { 

    public static void main(String[] args) { 

     double kg = 75.5; 
     double lb = 2.2; 
     double sum; 

     sum = (kg * lb); 

     JOptionPane.showMessageDialog(null,sum, "Weight Conversion", JOptionPane.INFORMATION_MESSAGE); 
    } 
} 
+0

Vâng để khởi động, bạn không thể có 2 phương pháp chính. – RichN

+0

@RichN bạn có thể, nhưng chỉ một người sẽ chạy trên mỗi trường hợp. Bạn luôn có thể gọi người khác, nhưng đó là một điều xấu để làm. – Obicere

+1

@Obicere Ah có tất nhiên. Tôi đã giả định cách "bình thường" của việc sử dụng các phương thức 'main'. Và bên cạnh đó, nếu bạn đủ hiểu biết để làm điều đó, có thể bạn sẽ không viết chúng thành phương pháp 'chính'. – RichN

Trả lời

6

Ngay bây giờ bạn có 2 phương pháp chính. Cả hai đều là điểm vào cho chương trình. Vì họ phải chia sẻ thông tin, điều đó không có nghĩa là bạn có cả hai.

Những gì tôi muốn khuyên là thay đổi phương pháp chính của Output đến một phương pháp dụ, lấy một tham số: các weight từ Input.

Giống như vậy:

public void printOutput(final double weight){ 
    //... 
} 

Sau đó, bạn có thể gọi đó là từ phương pháp chính của Input như vậy:

public static void main(String[] args) { 

    String weight; 

    weight = JOptionPane.showInputDialog("Enter weight in kilograms"); 

    double kg = Double.parseDouble(weight); // Be sure to parse the weight to a number 
    Output output = new Output(); // Create a new instance of the Output class 

    output.printOutput(kg); // Call our method to display the output of the conversion 
} 

Một điều khác, là vì Output hiện chỉ được sử dụng cho một phương pháp đó, bạn có thể xem xét việc chuyển phương thức đó thành Input.

+0

Cảm ơn bạn rất nhiều vì đã giúp đỡ. Java công cụ này là rất nhiều mất và sắp xếp ra. Điều gì có nghĩa là khi bạn nói Double.parseDouble (trọng lượng) đặc biệt là parseDouble? Một lần nữa, cảm ơn sự giúp đỡ của bạn. – Ph1shPhryd

+0

@ Ph1shPhryd 'weight' là một' Chuỗi'. Chỉ cần một danh sách các nhân vật. Bạn không thể thực sự thêm hoặc nhân hoặc chia với điều đó như thể nó là một số. Thay vào đó, bạn có thể gọi thư viện Java để lấy chuỗi đó và phân tích nó. Điều này sau đó trả về một 'double', là một số. Vì vậy, bạn có thể sử dụng nó như vậy. – Obicere

+0

có ý nghĩa. Vì vậy, khi tôi chạy chương trình bây giờ câu trả lời luôn luôn giữ nguyên không có vấn đề gì tôi đầu vào. Tôi đang cố gắng tìm ra vấn đề nhưng dường như bị mắc kẹt. Bất kỳ ý tưởng nào về lý do tại sao điều đó đang xảy ra? – Ph1shPhryd

0
// addition of two integers using JOptionPane 
import javax.swing.JOptionPane; 

public class Addition 

{ 

    public static void main(String[] args) 

    { 

    String firstNumber = JOptionPane.showInputDialog("Input <First Integer>"); 
    String secondNumber = JOptionPane.showInputDialog("Input <Second Integer>"); 
    int num1 = Integer.parseInt(firstNumber); 
    int num2 = Integer.parseInt(secondNumber); 
    int sum = num1 + num2; 
    JOptionPane.showMessageDialog(null, "Sum is" + sum, "Sumof two Integers", JOptionPane.PLAIN_MESSAGE); 
    } 
} 
+0

Không chỉ viết mã máy bay. Thêm một số thông tin khác vào câu trả lời của bạn – RomCoo

Các vấn đề liên quan