java - 如何在方法中定义 char 变量?
问题描述
我正在尝试编写一个循环,当用户输入 Y 时,循环继续,当用户输入 N 时,循环停止。但是,当我尝试分配变量时,我收到错误“无法从 void 转换为 char”,我显然在某处搞砸了,但我不确定在哪里。
import java.util.Scanner;
public class SimpleList {
public static void main(String[] args) {
System.out.println("Welcome to the Simple List Class");
getData();
}
private static void getData() {
Scanner input = new Scanner(System.in);
float[] numbers = new float[10];
System.out.println("Enter a non-negative floating point value: ");
for(int i = 0; i < 10; i++) {
float x = input.nextFloat();
if (x > 0) {
numbers[i] = x;
char ans = System.out.print("Would you like to input another value? (Y or N)? ");
}
else {
System.out.println("That is not a valid. Try Again.");
}
}
System.out.println(Arrays.toString(numbers));
}
} ```
解决方案
您分配ans
的结果System.out.print()
是一个 void 方法。
相反,请事先创建提示并使用Scanner
获取输入:
public class SimpleList {
public static void main(String[] args) {
System.out.println("Welcome to the Simple List Class");
getData();
}
private static void getData() {
Scanner input = new Scanner(System.in);
float[] numbers = new float[10];
System.out.println("Enter a non-negative floating point value: ");
for(int i = 0; i < 10; i++) {
float x = input.nextFloat();
if (x > 0) {
numbers[i] = x;
// New Prompt
System.out.print("Would you like to input another value? (Y or N)? ");
// Take input and set ans
char ans = input.next().charAt(0);
}
else {
System.out.println("That is not a valid. Try Again.");
}
}
System.out.println(Arrays.toString(numbers));
}
}
推荐阅读
- c# - Getting an instance of the Serilog logger without DI
- database - 使用 Doctrine 在 Symfony 中加载未映射的表
- python-3.x - Python - Pandas:跨单独的数据框块执行基于列值的数据分组
- c# - c#解密问题得到错误PartialInputStream中的流过早结束
- c - 关于c语言中的const数组参数
- ios - 自定义标签栏 SwiftUi
- android - 在使用 firebase bom 时导入 FirebaseCrashlytics
- c# - C# 当检查用户是否在 mysql 中存在 System.NullReferenceException
- vba - 如何在 vba 例程中设置和停用单个键事件?
- javascript - javascript:返回数组中所有可能的对