【发布时间】:2014-06-06 03:01:18
【问题描述】:
我一直在尝试做一个如下的问题:
程序应该一直提示用户输入一个字母,直到用户输入“!”,程序结束。每次用户输入一个字母时,程序应该将该字母添加到之前输入的字母中并打印结果。该程序还应该返回:
- 输入“@”时最后输入的字母。
- 输入“#”时输入的字母总数。
我不知道如何返回最后输入的字母和输入的字母数。我考虑过 if 语句,但它们似乎不起作用。到目前为止,这是我的代码:
import java.util.Scanner;
import java.util.ArrayList;
public class check {
static Scanner input = new Scanner (System.in);
static ArrayList<String> array= new ArrayList<>();
public static void main(String[] args) {
System.out.print("Please enter a letter: ");
String a=input.nextLine();
while ( !a.equals("!")) {
array.add(a);
for(String b : array) {
System.out.print(b);
}
System.out.print("\n"+"Please enter a letter: ");
a=input.nextLine();
}
// array.add(a);
if((a.equals("#"))) {
ArrayList.get(ArrayList.size()-1);
for(String b : array) {
System.out.print(b);
}
}
我知道我所做的 if 语句是不正确的,因为它在下面给出了红线。但不知道下一步该怎么做。
【问题讨论】:
-
ArrayList.get(ArrayList.size()-1);不正确,您不能以这种方式使用静态 ArrayList。使用array.get和array.size() -
他们输入了多少个字母?你能在每个字母的每个键上取消设置并设置一个变量吗?
-
你应该使用变量而不是类。将
ArrayList.get(ArrayList.size()-1)替换为array.get(array.size() - 1)。复习 Java 基础知识。 -
您需要检查 while 循环中的特殊字符。您应该确保它们也没有添加到数组中。
标签: java if-statement arraylist