【发布时间】:2015-12-14 21:01:43
【问题描述】:
我一直在尝试使用以下代码通过 Scanner 获取 char:
import java.util.Scanner;
public class PhoneBill
{
public static void main(String[] args)
{
// Create Scanner
Scanner input = new Scanner (System.in);
//Declare variables
char r, p;
double minutes, nightm, daym, totalcost, account;
//Obtain account number
account = input.nextDouble();
//Determine service
System.out.println("Enter r for regular service or p for premium service: ");
char service = input.next(".").charAt(0);
//Logic for regular service
if (service == r)
{
System.out.println("Enter number of minutes talked: ");
minutes = input.nextDouble();
if (minutes >= 50)
totalcost = (10.00 + (minutes * 0.20));
}
//Display account
System.out.println ("The account number is: " + account);
//Display service type
}
}
但我收到了这个错误:
PhoneBill.java:29: error: variable r might not have been initialized
if (service == r)
^
1 error
问题出在哪里以及如何以适当的方式解决?
【问题讨论】:
-
你试过给
r赋值吗?例如r = 'r'。就像错误消息说的那样,您还没有这样做,您需要先这样做才能引用它。甚至,您可以简单地使用if (service == 'r')。
标签: java if-statement char