Я пытаюсь сделать телефонный тарифный калькулятор. Однако я получаю nullpointerexceptions
. Не могу понять, откуда они. Помогите оценить!Телефонный тарифный калькулятор
note У меня есть другой класс, который принимает вход пользователя в список. Но то работает, как ожидалось
import java.util.ArrayList;
import java.util.List;
public class TariffCalc {
public void calculator(List<Integer> tariff){
int whattariff = 0;
int mins = 0;
int texts = 0;
int surchargeMin = 0;
int surchargeText = 0;
int totalsurcharge= 0;
for(Integer s: tariff){
whattariff = tariff.get(0);
mins = tariff.get(1);
texts = tariff.get(2);
}
if (whattariff == 1 && mins <= 200 && texts <= 150){
System.out.println("Tariff 1: Within Allowance: £20 per month: Mins used: " + mins + " Texts used: " + texts);
}
else if(whattariff == 1 && mins > 200){
surchargeMin = mins - 200;
surchargeMin = (int) (surchargeMin * 0.1);
}
if (whattariff == 1 && texts > 150){
surchargeText = texts - 150;
surchargeText = (int) (surchargeText * 0.05);
}
if (whattariff == 2 && mins <= 400 && texts <= 350){
System.out.println("Tariff 2: Within Allowance: £35 per month");
}
else if (whattariff == 2 && mins > 400){
surchargeMin = mins - 400;
surchargeMin = (int) (surchargeMin * 0.1);
}
if (whattariff == 2 && texts > 350){
surchargeText = texts - 350;
surchargeText = (int) (surchargeText * 0.05);
}
totalsurcharge = surchargeMin + surchargeText;
if(whattariff == 1)
System.out.println("Tariff 1: Allowance 200mins + 150 text. Used: " + mins + " + " + texts + ": Total Cost is £" + (20 + totalsurcharge));
else if (whattariff == 2){
System.out.println("Tariff 2: Allowance 400mins + 350 text. Used: " + mins + " + " + texts + ": Total Cost is £" + (35 + totalsurcharge));
}
}
public static void main(String[] args) {
TariffCalc c = new TariffCalc();
c.calculator(null);
}
}