【问题标题】:In and Double to stringIn 和 Double 到字符串
【发布时间】:2017-06-28 06:31:03
【问题描述】:

给定骨架程序,我无法弄清楚它是如何工作的......

必须使用这种格式...

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

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 ("********************************************************************");
    */




    }

【问题讨论】:

  • 一切正常,除了从参数行中获取双精度,必须保留一个用于计算的数字......

标签: string methods int switch-statement double


【解决方案1】:

你的声明应该是:

   //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":

cases 0:

args[1]args[2] 字面意思是来自String[] 的数组,所以它实际上是返回一个字符串值,所以你需要解析它以便转换它的类型数据,请参阅上面我如何将 String 解析为 int 和 double 的代码。

【讨论】:

  • 我无法改变这一点,这是我得到的骨架的一部分......我不知道如何让它运行,我正在使用 jgrasp 并且必须通过运行参数行运行参数,并且是否需要对年收入做同样的事情,请记住,我需要将其保持为双倍以便稍后进行数学运算,以及我将如何使用开关转到不同的方法。非常感谢
  • MyIncomeTax5.java:14: 错误:找不到符号 public static String status = Integer.parseInt(args[1]); ^ 符号:变量 args 位置:类 MyIncomeTax5 MyIncomeTax5.java:16:错误:找不到符号 public static doubleennialIncome = Double.parseDouble(args[2]); ^
  • 以上更新程序
  • 我一切正常,直到我得到双倍,我把它改成你的建议并得到这个错误
  • MyIncomeTax5.java:16: 错误:找不到符号 public static double AnnualIncome = Double.parseDouble(args[2]); ^ 符号:变量 args 位置:MyIncomeTax5 类 1 错误
猜你喜欢
  • 2019-11-24
  • 2010-10-04
  • 2019-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-20
  • 1970-01-01
  • 2014-12-04
相关资源
最近更新 更多