当前位置: 首页 > 知识库问答 >
问题:

未知java netbeans错误

董洲
2023-03-14

为什么程序不起作用?当我在第一个问题上输入'1',然后在第二个问题上输入一些东西时,出现了一个红色文本:(程序没有完成,但它应该能工作,不是吗?)

线程“main”Java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0在Java.lang.String.Charat(String.Java:658)在javaApplication2.javaApplication2.main(javaApplication2.Java:37)Java结果:1

代码:

package javaapplication2;
import java.util.Scanner;
/**
 *
 * @author John
 */
public class JavaApplication2 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int charAt = 0;
        int[] karies = new int[99];
        char[] ko = new char[99];
        char[] firstchar = new char[99];

        System.out.println("Type \"1\" for encryption and \"2\" for decryption:");


        if (sc.nextInt() == 1) {
            System.out.println("Enter the text you want to encrypt:");
        } else {
            System.out.println("Enter the text you want to decrypt:");
        }
        String krypt = sc.nextLine();
        int longd = (sc.nextLine()).length();

        while (charAt < longd) {
            firstchar[charAt] = krypt.charAt(charAt);
            karies[charAt] = ((int)firstchar[charAt]);
            ko[charAt] = (char)(karies[charAt] - 7);
            charAt++;
        }
        System.out.println(krypt.charAt(0));
    }
}

共有1个答案

师增
2023-03-14

这里的问题不是NetBeans。sc.nextline()是罪魁祸首。在按enter键输入选项后,sc.nextLine()将使用该回车,因为sc.nextInt()将只读数字,而不是末尾的\n。要解决此问题,可以使用额外的sc.nextline()

if (sc.nextInt() == 1){
System.out.println("Enter the text you want to encrypt:");
}else{
System.out.println("Enter the text you want to decrypt:");
}
sc.nextLine(); // Extra added
String krypt = sc.nextLine();
int longd = (sc.nextLine()).length();

要了解更多详情,请参阅本题或本题。

 类似资料:
  • 我试图按照https://docs.angularjs.org/tutorial的教程操作,但在运行该命令时出错 Angulal-PhoneCat@0.0.0 postinstall c:\git\Angulal-paractions\Angulal-PhoneCat bower install Angulal-PhoneCat@0.0.0update-webdriver C:\git\Angul

  • 问题内容: 我对Go真的很陌生,su只在这里忍受我。我正在尝试使用以下代码编写将mysql数据加载到Redis集群的代码:redis-go- cluster , load2redis 这是代码。它有点长,请在这里忍受。 当我执行它时,出现以下异常: 有人可以向我解释我在做什么错吗?我将不胜感激。 问题答案: 如前所述,不适用于地图。这是您可以解决它的一种方法。 Do方法映射到Redis命令集,并且

  • 问题内容: 因此,第二次调用此方法将返回以下错误。 第一个调用运行良好,然后第二个调用运行,不允许在错误发生之前输入值。 谢谢 问题答案: 打电话时,应检查扫描仪是否有一个。 根据Scanner#next的 Java文档 NoSuchElementException如果没有更多标记可用 您可以如下更改方法 然后像下面这样称呼它

  • 问题内容: 我刚刚安装了matplotlib,并尝试运行其中的示例脚本之一。但是我遇到了下面详细描述的错误。我究竟做错了什么? 错误是 问题答案: 首先,我认为版本的工作方式与当前版本的有所不同。 您正在使用哪个版本?(尝试运行: 我猜您正在运行的是version ,在这种情况下,您需要使用稍微不同的语法或更新到的最新版本。 如果您正在运行version ,请尝试执行此操作,而不要使用关键字参数:

  • 问题内容: 我正在尝试在html页面中显示配置的值和角值服务中的版本代码,但显示的不是作者的名字,这是html代码 这是指令… 这是在其中配置和值的服务部分 我在开发人员控制台中遇到的错误是 问题答案: 确保将这些模块( myApp.services 和 myApp.directives )作为主要应用程序模块的依赖项加载,如下所示: 塞子: http ://plnkr.co/edit/wxuFx

  • 我最近将一系列Maven项目(Ardor3D,如果有帮助的话)导入到Eclipse中,出于某种原因,除了第一个项目之外,在所有项目中,pom旁边都有一个红色的x标记。但是,当我打开pom时,PackageExplorer窗口中的xml文件表明存在错误。xml,我找不到任何错误。。。谢谢你的帮助!