Novo curso! Todo programador deveria aprender IA generativa!
Experimente uma aula grƔtis0
Calculating NetRevenue with Taxes
My code is saying my method cannot be applied to given types. Could someone help me? The code I have so far is: https://code.sololearn.com/ce6ZC681er65/?ref=app
8 Respostas
+ 2
Guy Robbins
change your code for the following method to this ,
public void CalculateNetRevenue(){
int n = this.totalIncome;
int m = this.taxPercent;
this.netRevenue = n-n*m/100;
}
Your code requires you to pass two arguments for the above code as you have parameters specified for it.
+ 3
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
int totalIncome = read.nextInt();
int taxPercent = read.nextInt();
//creating an Income object
Income income = new Income();
income.totalIncome = totalIncome;
income.taxPercent = taxPercent;
income.CalculateNetRevenue(totalIncome, taxPercent);
System.out.println("Net revenue: " + income.getNetRevenue());
}
}
//Please Subscribe to My Youtube Channel
//Channel Name: Fazal Tuts4U
class Income{
public int totalIncome;
public int taxPercent;
//the net revenue is private
private int netRevenue;
//complete setter method
public void CalculateNetRevenue(int totalIncome, int taxPercent){
this.netRevenue = this.totalIncome - (this.totalIncome*this.taxPercent)/100;
}
//complete getter method
public int getNetRevenue(){
return this.netRevenue;
}
}
0
I think on line 30 when you use division, it's giving you float or double, so you have to use type casting to get int
0
method is declaring as
public void CalculateNetRevenue(int n, int m){
but you call it without any arguments.
income.CalculateNetRevenue();
0
Thank you Abhay that worked. May I ask just to understand better why in this example I did not have to use parameters for my CalculateNetRevenue() method?
0
Guy Robbins
In the following piece of code ,
"""
income.totalIncome = totalIncome;
income.taxPercent = taxPercent;
income.CalculateNetRevenue();
"""
You are already assigning user input values (totalIncome and taxPercent) to class variables , so why would need parameters for a method that just won't do anything ?
See the following code ,
"""
public void CalculateNetRevenue(int n, int m){
n = totalIncome;
m = taxPercent;
"""
totalIncome and taxPercent are already assigned . Now what you think the above code is doing ? Even if you pass values to this method they won't affect the result at all. Our user input totalIncome will be assigned to variable m , so you see there is no need for those parameters !
let me know if still something doesn't makes sense.
0
Okay I think I am understanding a little bit more thank you for your feedback Abhay. I do appreciate it.
0
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
int totalIncome = read.nextInt();
int taxPercent = read.nextInt();
//creating an Income object
Income income = new Income();
income.totalIncome = totalIncome;
income.taxPercent = taxPercent;
income.CalculateNetRevenue();
System.out.println("Net revenue: " + income.getNetRevenue());
}
}
class Income{
public int totalIncome;
public int taxPercent;
//the net revenue is private
//That is why we use a getter and setter method
private int netRevenue;
//complete setter method
public void CalculateNetRevenue(){
this.netRevenue = totalIncome-totalIncome*taxPercent/100;
}
//complete getter method
public int getNetRevenue(){
return netRevenue;
}
}