String 在和双到字符串

String 在和双到字符串,string,methods,int,switch-statement,double,String,Methods,Int,Switch Statement,Double,给定了一个框架程序,我无法理解它是如何工作的 必须使用此格式 无法让它从参数行读取参数,并且不知道如何使用开关转到不同的方法 Program: //********************************************************************************** //Purpose: Compute personal income taxes. // //Input: Name, status, a

给定了一个框架程序,我无法理解它是如何工作的

必须使用此格式

无法让它从参数行读取参数,并且不知道如何使用开关转到不同的方法

Program:
        //**********************************************************************************
    //Purpose:  Compute personal income taxes.
    //
    //Input:    Name, status, and annual income
    //
    //Output:   name, status, annual income, and tax due
    //
    //    Expand and complete the documentation section
    //
    //**********************************************************************************
    public class MyIncomeTax5{
   //Declarations
   public static String name;
   public static String status;
   public static double statusName;
   public static double annualIncome;
   public static double taxDue;

   //*******************************************************************************
   // Have a documentation section in front of each method
   //
   //*******************************************************************************
   public static void main (String [] args){
      readArguments(args);
      computeTax();
      //printOutput();
   }

   public static void readArguments(String [] args){

      //Assign arguments to name, status, and annual income
      /*System.out.println ("readArguments to be implemented");
      System.out.println ("in readArguments assign arguments to name, status, and annual income");*/
      name = args[0];
      status = args[1];
      //annualIncome = args[2];

   }

   public static void computeTax(){

      //Use a switch statement to invoke the appropriate method
      //Based on the value in status and assign a value to statusName.

      switch (status){
      case "0": computeSingleFilers();

               break;
      case "1":

               break;
      case "2":

               break;
      case "3":

               break;
      default: 
      }


  }

  public static void computeSingleFilers(){ 

  }

  public static void computeMarriedFilingJointly(){

  }

   public static void computeMarriedFilingSeparately(){

  }

  public static void computeHeadOfHousehold(){

  }

  /*public static void printOutput(){

   displayHeader();
   displayFooter();
  }

   public static void displayHeader(){
   System.out.println ("********************************************************************");
   System.out.println ("**                                                                **");
   System.out.println ("**        Estimating 2016 Personal Federal Income Tax             **");
   System.out.println ("**                                                                **");
   System.out.println ("**        CS1301                                                  **");
   System.out.println ("**                                                                **");
   System.out.println ("**        2/10/2017                                               **");
   System.out.println ("**                                                                **");
   System.out.println ("********************************************************************");
   System.out.printf ("%-25s%-25s", "Name:", name);
   System.out.printf ("%-25s%-25s", "Status:", statusName);
   System.out.printf ("%-25s%-25s", "Name:", name);
   System.out.printf ("%-28s%-25s", "Annual Income:", annualIncome);
   System.out.printf ("%-28s%-25s", "2016 estimated tax due:", taxDue);



   }

    public static void displayFooter(){
    System.out.println ("********************************************************************");
    System.out.println ("**                                                                **");
    System.out.println ("**        It is needed but not fun to pay taxes                   **");
    System.out.println ("**                                                                **");
    System.out.println ("**        Have a good day                                         **");
    System.out.println ("**                                                                **");
    System.out.println ("********************************************************************");
    */




    }

您的声明应该是:

   //Declarations
   public static String name;
   public static int status;
   public static double statusName;
   public static double annualIncome;
   public static double taxDue;
    public static void readArguments(String [] args){
       name = args[0];
       status = Integer.parseInt(args[1]);
       annualIncome = Double.parseDouble(args[2]);
   }
像这样解析它:

   //Declarations
   public static String name;
   public static int status;
   public static double statusName;
   public static double annualIncome;
   public static double taxDue;
    public static void readArguments(String [] args){
       name = args[0];
       status = Integer.parseInt(args[1]);
       annualIncome = Double.parseDouble(args[2]);
   }
然后通过删除其双引号将switch语句的大小写更改为
int

cases "0":


args[1]
args[2]
实际上来自
String[]
的数组,因此它实际上返回一个字符串值,因此您需要解析它以转换它的数据类型,请参见上面的代码,我如何将字符串解析为int和double。我无法更改这个,这是我得到的骨骼的一部分。。。我不知道如何让它运行,我使用的是jgrasp,必须通过运行参数行运行参数,并且需要对annualIncome执行相同的操作,记住我需要它保持一个双精度,以便稍后进行数学运算,我还需要如何使用开关转到不同的方法。感谢advancedMyIncomeTax5.java:14:错误:找不到符号公共静态字符串status=Integer.parseInt(args[1]);^symbol:变量args位置:类MyIncomeTax5 MyIncomeTax5.java:16:错误:找不到符号公共静态双annualIncome=double.parseDouble(args[2])^更新了上面的程序在我找到double之前,我一直在工作,我将它更改为您建议的,并得到了这个错误myincometax5.java:16:error:not find symbol public static double annualIncome=double.parseDouble(args[2]);^符号:变量args位置:类MyIncomeTax5 1 error除了从参数行获取double外,所有操作都有效,必须保留一个数字用于计算。。。。