Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我需要打印出我在主方法中调用的方法的应纳税所得额。但是,方法中的循环将只返回一个值_Java - Fatal编程技术网

Java 我需要打印出我在主方法中调用的方法的应纳税所得额。但是,方法中的循环将只返回一个值

Java 我需要打印出我在主方法中调用的方法的应纳税所得额。但是,方法中的循环将只返回一个值,java,Java,这是我的代码,compute tax方法中的循环只返回第一个nmber,这甚至不正确。如何返回正确的值。在每个循环中,必须选择一种税级类型,输入数字1-4。这也将进入方法循环 public class TaxTable { public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println(" Enter in status\n

这是我的代码,compute tax方法中的循环只返回第一个nmber,这甚至不正确。如何返回正确的值。在每个循环中,必须选择一种税级类型,输入数字1-4。这也将进入方法循环

public class TaxTable
{
    public static void main(String[] args){

        Scanner scan = new Scanner(System.in);
        System.out.println(" Enter in status\n (1 for single\n,2 for married joint, 3 for Married         separate, 4 for Head of House: ");
        int status = scan.nextInt();
        //if status to print out status name
        if (status == 1)
            System.out.println ("Taxable\t single\nIncome");
        else if (status == 2)
            System.out.println ("Taxable\tMarried Jointly\nQualified Widow\nIncome");
        else if (status == 3)
            System.out.println ("Taxable\tMarried separate\nIncome");
        else if (status == 4)
            System.out.println ("Taxable\tHead of House\nIncome");
        int taxableIncome = 50000;


        for (int i = 50000; i <= 60000; i += 50)
            System.out.println (i + "\t" + Math.round(computeTax(status, taxableIncome)));

    }

    public static double computeTax (int status, double taxableIncome) {
        double tax=0;
        for (int k = 50000; k <= 60000; k =+ 50) {
            if (status == 1)
                taxableIncome = 4675 + ((k-33950)*.25);
            else if(status == 2)
                taxableIncome = 16701 + (k-16701)*.15;
            else if(status == 3)
                taxableIncome = 4675 + (k-33951)*.25;
            else if(status == 4)
                taxableIncome = 6227.5 + (k-33549)*.25;
            return taxableIncome[k];
        }
    }
}
公共类税表
{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“输入状态\n(1表示单身,2表示已婚联合,3表示已婚分居,4表示户主:”);
int status=scan.nextInt();
//如果要打印状态名称,请选择“状态”
如果(状态==1)
System.out.println(“应纳税\t单一\n收入”);
否则如果(状态==2)
System.out.println(“应税\t联姻\n无资格寡妇\n结婚”);
否则如果(状态==3)
System.out.println(“应纳税\t婚姻分离\n收入”);
否则如果(状态==4)
System.out.println(“应税房屋\收入”);
应纳税所得额=50000;
要使(int i=50000;i在不使用数组的情况下“返回”多个值,请在方法中设置一个全局变量,然后返回第二个值

public static double returnVal2;

public static void method(){
    double returnVal1 = otherMethod();
    // returnVal1 now holds 1 return value, and returnVal2 now holds the other.
}

public static double otherMethod(){
    returnVal2 = 0; // Change 0 to second value that you want to return.
    return 0;       // Change 0 to the first value that you want to return.
}

最初我的返回语句是return taxableIncome,它也不起作用。您在其中有一个返回语句;循环将永远不会经过第一次迭代。那么,我应该如何将所需的所有值返回到main方法使用数组
double[]taxableIncome
作为
computeTax(…)的第二个参数
method。您可能已经这样做了,因为您试图返回数组元素
taxableIncome[k]
(尽管没有这样的数组)。向
computeTax(…)
提供一个数组,该数组足够大,可以容纳所有值。在方法内填充数组。在方法外访问数组值。
computeTax(...)
可以是
void,
类型,也就是说,它不应该返回任何东西。有没有一种方法可以在没有数组的情况下实现这一点。我们在课堂上没有讨论过这些。这是一个非常糟糕的主意,顺便说一句。这并不是op问题的答案。op想知道如何在不使用数组的情况下返回多个值,我知道这并不理想,但它确实有用这是给OP的约束所能做的最好的了。@DirkLachowskiDownvote不是我的,而是真的:一个返回值的方法,作为副作用,修改一个全局变量以“返回”第二个值?返回一个对象怎么样?