- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经初始化了变量 yn,但它一直说我没有初始化。尝试直接在扫描仪上对其进行初始化,但出现错误并再次提示它已在方法中初始化。
import java.util.Scanner;
public class sample
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
int num;
char yn;
while (yn == 'Y' && yn == 'y')
{
do
{
System.out.print("Enter a positive integer: ");
num = s.nextInt();
if (num < 0)
{
System.out.print(num + "is a negative integer. Please try again!");
}
else
{
if (num % 2 == 0)
{
System.out.println(num + " is an even number.");
}
else
{
System.out.println(num + " is an odd number.");
}
continue;
}
}
while (num < 0);
System.out.println("Press Y if you want to input again and N if no.");
yn = s.next().charAt(0);
do
{
if (yn == 'N' && yn == 'n')
{
System.out.println("Done!");
break;
}
else if (yn == 'Y' && yn == 'y')
{
System.out.println("Done!");
continue;
}
else
{
System.out.println("Invalid Input! Try again!");
break;
}
}
while (yn != 'Y' && yn != 'y' && yn != 'N' && yn != 'n');
}
}
}
最佳答案
您声明 yn
时没有初始值,然后立即将其用作循环条件。
char yn;
while(yn == 'Y' && yn == 'y'){
表示您期望默认值为y
(或Y
)。您必须显式设置它,使其为 true
。此外,没有任何字符既是 'Y'
又是 'y'
,因此您需要一个逻辑或。就像,
char yn = 'Y';
while(yn == 'Y' || yn == 'y') {
您也可以考虑
char yn = 'Y';
while (Character.toUpperCase(yn) == 'Y') {
然后你就不需要||
。你在这里也有同样的逻辑不可能
if(yn == 'N' && yn == 'n'){
System.out.println("Done!");
break;
}
else if(yn == 'Y' && yn == 'y'){
System.out.println("Done!");
continue;
}
并且可以使用||
(或使用Character.toUpperCase(char)
)修复它。
关于Java:它一直说 "variable yn might not have been initialized",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58256413/
这是我正在编写的程序的基本代码,用于练习在 C 中使用文件。我正在尝试检测输出文件是否已经存在,如果它确实存在,我想询问用户是否要覆盖它或不。这就是我首先使用 fopen(outfilename,"r
这个问题已经有答案了: Variable might not have been initialized error (12 个回答) 已关闭 3 年前。 我已经初始化了变量 yn,但它一直说我没有初
我经常使用 Ruby gem clean 命令来保持本地 gem 存储库的良好状态。 但是,由于依赖性问题,很多时候该命令会返回如下提示: XXXXX-1.0.6 depends on [YYYYYY
运行follow命令向yarn提交作业,但不期望分配任务管理器的数量。集群有足够的资源 /data/clusterserver/flink-1.7.2/bin/flink run -m yarn-cl
是否可以使用 LINQ 转换包含坐标元组 (x, y) 的平面 double 组,即[x0,y0, ..., xN, yN] 到长度为一半的数组,其中包含包装在 Point 类中的相同坐标,即 [p0
我是一名优秀的程序员,十分优秀!