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外,所有操作都有效,必须保留一个数字用于计算。。。。