java - 行号错误 = inputLine.nextInt();
问题描述
我有一个问题,因为它说 int 不能被取消引用!
public class EducationalQuiz1{
public static void main(String args[]){
int number;
int inputLine;
System.out.println("Select Topic:");
System.out.println("1. Handball");
System.out.println("2. Football");
System.out.println("3. Basketball");
System.out.println("4. Wrestling");
String sport = Keyboard.readString();
switch(sport){
case "1":
handball myhandball = new handball();
myhandball.printMenu();break;
case "2":
football myfootball = new football();
myfootball.printMenu();break;
case "3":
basketball mybasketball = new basketball();
mybasketball.printMenu();break;
case "4":
wrestling mywrestling = new wrestling();
mywrestling.printMenu();break;
number = inputLine.nextInt();
if (number < 0)
System.out.println("Does not compute! Enter a positive number!");
while (number < 0);
}
}
}
解决方案
什么是取消引用?
从技术上讲,任何不是原始类型的变量都包含对对象的 引用,而不是实际对象本身。当您使用“。”时 运算符访问对象的成员时,您正在“取消引用”该引用。
inputLine.nextInt();
inputLine
是原始类型 int 你不能用它调用方法,因为它不包含任何引用,所以你得到一个错误int can't be derefrenced
你应该做一些类似的事情。使用scanner
类接受int
输入
Scanner scanner = new Scanner(System.in);
java.util.Scanner 类的 nextInt(radix) 方法将输入的下一个标记扫描为 Int
scanner.nextInt();
推荐阅读
- python - 将传感器读入python数组并用PHP解析
- javascript - React Native,值没有更新
- javascript - 我将如何修复此功能以根据日期更改月份?
- datagridview - 所选项目没有可显示的数据源
- bash - Bash:在循环时将目录名称设置为变量
- powerbi - Power BI 图表上的筛选值无效
- sql-server - 如何从具有 utf8 编码的文件中执行“SQL 任务”SSIS?
- laravel-8 - 我在 Dashboard.vue 中所做的更改没有被保存(Laravel Jetstream Inertia.js)
- sql-server - 如何区分 SQL 用户和 Windows 域用户?
- angular - 角度样式不适用于 renderer2 创建的元素