java - 调试 Java 代码时如何使用 Scanner 类对象设置变量的值?

标签 java ubuntu debugging java-8 java.util.scanner

我在使用 jdb(Java 调试器)调试我的 Java 源代码时遇到问题。当我尝试使用扫描器类对象在实例变量中设置值时,它将显示以下输出

Jdb Displaying following output

我不明白为什么我收到这条消息“无法识别的命令”。 我的java源码如下

import java.util.Scanner;
class StringPlay{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
    int t;
    // System.out.println("t");
    t=sc.nextInt();
    for(int l=0;l<t;l++){
            String s="",a="";
        int k=0,player=0;
        // System.out.println("s");
        s=sc.next();
        for(int i=0;i<s.length();i++){
            for(int j=i+1;j<s.length();j++){
                if((int)s.charAt(j)!=(int)s.charAt(i)){
                    // strcat(a,s[j]);
                    a+=s.charAt(j);
                    // k++;
                }
                if(j==s.length()-1){
                    s=a;
                    a="";
                    // string::replace(a,0,"");

                    player++;
                }
            }
        }
        if(player%2==0)System.out.println("player1");
        else System.out.println("player2");
    }

    }
}

嗯,我使用的是 jdb 1.8 版(Java SE 1.8.0_151 版)。 和 Java 版本“9.0.1” Java(TM) SE 运行时环境(build 9.0.1+11) Java HotSpot(TM) 64 位服务器 VM(构建 9.0.1+11,混合模式)

我正在 Ubuntu 16.04LTS 中使用 Java。

在此先感谢您对我的帮助。

最佳答案

尝试为扫描器提供输入字符串以使用 jdb 进行调试。因为您的控制台输入正在被 jdb 而不是 Scanner 类读取。

你可以试试:

String myInput = "This is my input, that I want in my sc.";
Scanner sc = new Scanner(myInput);

或者你可以直接喂它:

Scanner sc = new Scanner("This is my input, that I want in my sc.");

关于java - 调试 Java 代码时如何使用 Scanner 类对象设置变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48609855/

相关文章:

java - 画一个汽车轮子

java - 按句点拆分字符串,但字符串包含 float

linux - Linux上 '/opt'文件夹的正确使用

python - 如何将gensim引入pycharm

debugging - 这个 gdb 警告是什么意思?当我尝试转储核心文件的回溯时,我明白了

debugging - 如何调试 Spyder IPython 控制台上声明的函数

java - 如何从多种可能性中找到负责输出字符串的特定java源文件

java - 如何确保 Java 中的并行处理

java - 创建一种确定单词元音和声的方法

mysql - 如何修复mysql插入数据错误