概述
总提示 请检查是否存在语法错误或者数组越界非法访问等情况
请问哪个大牛知道这个代码到底是哪里有语法错误了?
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int goodsNum = 0;//要购买的商品数量n
int otherDiscountNum = 0;//满减优惠方式数量m
double totalPrice = 0;
double discountPrice = 0;
int goodsSize = 0;
int discountSize = 0;
System.out.println("请输入商品数量和满减优惠方案的数量");
while (scanner.hasNext()) {
int number1 = 0, number2 = 0;
try {
number1 = Integer.valueOf(scanner.next().trim());
number2 = Integer.valueOf(scanner.next().trim());
} catch (Exception e) {
System.out.printf("%s%n", e.getMessage());
continue;
}
if (goodsNum == 0) {
if (number1 > 10 || number1 < 1 || number2 > 10 || number2 < 1) {
continue;
}
goodsNum = number1;
otherDiscountNum = number2;
} else if (goodsSize < goodsNum) {
if (number1 > 100 || number1 < 1) {
continue;
}
if (number2 > 1 || number2 < 0) {
continue;
}
totalPrice += number1;
if (number2 == 1) {
discountPrice += number1 * 0.8;
} else {
discountPrice += number1;
}
goodsSize++;
} else if (discountSize < otherDiscountNum) {
if (number1 <= number2) {
continue;
}
if (number1 > 1000 || number1 < 1 || number2 > 1000 || number2 < 1) {
continue;
}
if (totalPrice >= number1) {
if (totalPrice - number2 < discountPrice) {
discountPrice = totalPrice - number2;
}
}
discountSize++;
}
if (goodsSize == goodsNum && discountSize == otherDiscountNum) {
System.out.printf("%#.2f%n", discountPrice);
scanner.close();
System.exit(-1);
return;
}
if (goodsSize < goodsNum) {
System.out.println("请输入下一个商品:");
} else if (discountSize < otherDiscountNum) {
System.out.println("请输入下一个满减优惠方案:");
}
}
scanner.close();
System.exit(-1);
}
}
最后
以上就是害怕咖啡豆为你收集整理的java数组越界等非法情况_请检查是否存在语法错误或者数组越界非法访问等情况...的全部内容,希望文章能够帮你解决java数组越界等非法情况_请检查是否存在语法错误或者数组越界非法访问等情况...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复