为了账号安全,请及时绑定邮箱和手机立即绑定

使用之前,是否必须将sc.nextLine()中的数据分配给变量?

使用之前,是否必须将sc.nextLine()中的数据分配给变量?

鸿蒙传说 2021-04-05 16:19:53
到目前为止,每次使用扫描程序对象时,我都会将输入分配给新的字符串变量,例如:String word = reader.nextLine();然后,如果我想在if语句中使用输入,我会写:if(word.isEmpty()){}但这似乎几乎是一个额外的步骤,而不是仅仅这样做:if(reader.nextLine().isEmpty()){}但是,当我尝试这样做时,我的程序功能通常会出现某种问题。有没有一种方法可以跳过我将不再使用的字符串来做到这一点?这是我要在没有String对象的情况下尝试使用的代码:import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;public class WordsInReverseOrder {    public static void main(String[] args) {        Scanner reader = new Scanner(System.in);        ArrayList<String> words = new ArrayList<String>();        while(true){            System.out.println("Type a word: ");            if(reader.nextLine().isEmpty()){                Collections.reverse(words);                for(String word1 : words){                    System.out.println(word1);                }                break;            }            else{                words.add(reader.nextLine());            }        }    }}
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

如果您需要对扫描的单词进行某些操作想要检查isEmpty(),则需要一个变量来两次访问该单词。

因此,如果您要做的事情不止一件事,则需要一个变量。如果只做一件事,则可以“内联”变量。

您的问题的答案是“是”。当您不需要第一个单词/行的内容时,可以“内联”您的变量,这意味着不需要变量。


查看完整回答
反对 回复 2021-04-21
  • 1 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信