Untitled
unknown
java
a year ago
4.6 kB
12
Indexable
import javax.swing.*;
import java.util.Scanner;
public class ConvertStringToInteger {
public static void main(String[] args) {
// Prompt the user to choose between GUI or Scanner
String[] options = {"Use GUI", "Use Scanner"};
int choice = JOptionPane.showOptionDialog(null,
"Choose input method:",
"Input Method Selection",
JOptionPane.DEFAULT_OPTION,
JOptionPane.INFORMATION_MESSAGE,
null,
options,
options[0]);
// Execute the selected method
if (choice == 0) {
// Use GUI
showGUI();
} else if (choice == 1) {
// Use Scanner
useScanner();
} else {
System.out.println("No option selected.");
}
}
// Method to show GUI for input
private static void showGUI() {
// Create the frame
JFrame frame = new JFrame("Pay Calculator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 250);
frame.setLayout(null);
// Create labels and text fields
JLabel hoursLabel = new JLabel("Hours worked:");
hoursLabel.setBounds(10, 20, 150, 25);
JTextField hoursField = new JTextField();
hoursField.setBounds(160, 20, 100, 25);
JLabel payRateLabel = new JLabel("Hourly pay rate:");
payRateLabel.setBounds(10, 60, 150, 25);
JTextField payRateField = new JTextField();
payRateField.setBounds(160, 60, 100, 25);
JLabel taxRateLabel = new JLabel("Tax rate (%):");
taxRateLabel.setBounds(10, 100, 150, 25);
JTextField taxRateField = new JTextField();
taxRateField.setBounds(160, 100, 100, 25);
// Create submit button
JButton submitButton = new JButton("Calculate");
submitButton.setBounds(90, 140, 120, 30);
// Add action listener to the button
submitButton.addActionListener(e -> {
// Get values from text fields
String stringHours = hoursField.getText();
String stringPayRate = payRateField.getText();
String stringTaxRate = taxRateField.getText();
// Process the inputs
try {
int hours = Integer.parseInt(stringHours);
double payRate = Double.parseDouble(stringPayRate);
double taxRate = Double.parseDouble(stringTaxRate) / 100; // Convert to decimal
// Calculate gross pay, tax amount, and net pay
double grossPay = hours * payRate;
double taxAmount = grossPay * taxRate;
double netPay = grossPay - taxAmount;
// Display results in the console
System.out.println("You worked " + hours + " hours at ₱" + payRate + " per hour.");
System.out.println("Gross Pay: ₱" + grossPay);
System.out.println("Tax Amount: ₱" + taxAmount);
System.out.println("Net Pay: ₱" + netPay);
} catch (NumberFormatException ex) {
System.out.println("Invalid input. Please enter numeric values.");
}
});
// Add components to frame
frame.add(hoursLabel);
frame.add(hoursField);
frame.add(payRateLabel);
frame.add(payRateField);
frame.add(taxRateLabel);
frame.add(taxRateField);
frame.add(submitButton);
// Set frame visibility
frame.setVisible(true);
}
// Method to use Scanner for input
private static void useScanner() {
Scanner scanner = new Scanner(System.in);
System.out.print("How many hours did you work this week? ");
int hours = scanner.nextInt();
System.out.print("What is your hourly pay rate? ");
double payRate = scanner.nextDouble();
System.out.print("What is your tax rate (in percentage)? ");
double taxRate = scanner.nextDouble() / 100; // Convert to decimal
// Calculate gross pay, tax amount, and net pay
double grossPay = hours * payRate;
double taxAmount = grossPay * taxRate;
double netPay = grossPay - taxAmount;
// Display results in the console
System.out.println("You worked " + hours + " hours at ₱" + payRate + " per hour.");
System.out.println("Gross Pay: ₱" + grossPay);
System.out.println("Tax Amount: ₱" + taxAmount);
System.out.println("Net Pay: ₱" + netPay);
// Close the scanner
scanner.close();
}
}
Editor is loading...
Leave a Comment