璇屿i 2022-01-23 15:43 采纳率: 0%
浏览 73

java怎么用ctrl+z关闭输入流

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

```java
while ( ???) {
            int fig = sc.nextInt();
            if (fig <= n) {
                num[p++] = fig;
                length++;
            }
        }
while表达式怎么写才能实现我按ctrl+z退出呢

###### 运行结果及报错内容 

###### 我的解答思路和尝试过的方法 

###### 我想要达到的结果
第1行中给出一个正整数n(不超出1000),表示菜品的数量,每个菜品使用1~n进行编号。 第2行输入若干以空格间隔的正整数,表示客人投出的最喜爱的菜品编号,以键盘结束符^Z或文件结束符结束输入。
  • 写回答

2条回答 默认 最新

  • CTimet 2022-01-23 19:04
    关注

    按ctrl+z接受循环?这个功能的话一个单纯的控制台应用怕是做不了。因为这属于GUI中的监听键盘敲击事件。这里给出一份示例代码

    package help;
    
    import javax.swing.*;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    
    public class DEMO extends JFrame implements KeyListener
    {
    
        private static boolean isPress = true;
    
        public DEMO() 
        {
            getContentPane().setLayout(null);
            setVisible(true);
            this.addKeyListener(this);
        }
        public static void main(String[] args)
        {
            new DEMO();
    
            while (isPress)
            {
                System.out.println("循环正在执行。。。");
            }
        }
    
    
        @Override
        public void keyTyped(KeyEvent e) {
        }
    
        // 按下了键时执行的方法
        public void keyPressed(KeyEvent e) 
        {
            if ((e.isControlDown()) && (e.getKeyCode() == KeyEvent.VK_Z))
            {
                isPress = false;
                System.out.println("循环被停止。。。");
            }
        }
    
        @Override
        public void keyReleased(KeyEvent e) {
        }
    
    }
    

    这个代码在运行的时候,当你按下ctrl+z时,控制台的打印循环就会被终止,不过,这个并不属于一个控制台应用,而是一个GUI应用。当你执行代码的时候,会出现一个很小的GUI界面盘踞在页面左上角。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月23日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22