相关疑难解决方法(0)

使用scanner.nextLine()

尝试使用java.util.Scanner中的nextLine()方法时遇到了麻烦.

这是我尝试过的:

import java.util.Scanner;

class TestRevised {
    public void menu() {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Enter a sentence:\t");
        String sentence = scanner.nextLine();

        System.out.print("Enter an index:\t");
        int index = scanner.nextInt();

        System.out.println("\nYour sentence:\t" + sentence);
        System.out.println("Your index:\t" + index);
    }
}
Run Code Online (Sandbox Code Playgroud)

示例#1:此示例按预期工作.String sentence = scanner.nextLine();在继续之前,该行等待输入输入System.out.print("Enter an index:\t");.

这会产生输出:

Enter a sentence:   Hello.
Enter an index: 0

Your sentence:  Hello.
Your index: 0
Run Code Online (Sandbox Code Playgroud)
// Example #2
import java.util.Scanner;

class Test {
    public void menu() {
        Scanner scanner …
Run Code Online (Sandbox Code Playgroud)

java java.util.scanner

92
推荐指数
4
解决办法
67万
查看次数

java程序无法读取字符串

import java.util.*;

class DataTypes {

    public static void main(String args[]) {
        int i = 4;
        double d= 4.0;
        String s = "Hackerrank";
        Scanner scan = new Scanner(System.in);
        int j = scan.nextInt();
        double d1 = scan.nextDouble();
        String s1 = new String();
        s1 = scan.nextLine();
        j = j+i;
        System.out.println(j);
        d1 = d1+d;
        System.out.println(d1);
        System.out.println(s+" "+s1);
        scan.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

看到上面的代码它没有错误但是在我输入double后程序没有读取字符串它直接显示输出.但是当我评论int和double的扫描语句时,程序会读取我的字符串.为什么会这样?

java

3
推荐指数
1
解决办法
340
查看次数

java中字符串有空格时无法获取整个字符串

我对java还是个新手,所以愚蠢的问题来了。我一直在开发一个简单的软件,使用JFramePrintWriterFileScanner创建和读取文本文件,我使用您输入的名称保存该文件,然后将您输入的数据保存到 中JTextField,问题是:一旦您输入一个空格不会将空格后的文本保存到文件中.txt

输入

等待它

   WriteToFile(textarea.getText(), name.getText());
// my function   input text         name
Run Code Online (Sandbox Code Playgroud)

输出:

等待

但如果我这样手动输入文本:

   WriteToFile("waitFor it", name.getText());
// my function   input text         name
Run Code Online (Sandbox Code Playgroud)

输出:

等待它

这让我认为我的功能可能不会导致这种情况,但我又是一个菜鸟。

主程序.java

package creator;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextField;


import library.Database;

public class Main extends Database{

    public static void main(String[] args) {

        JFrame frame = new JFrame();

        JButton button …
Run Code Online (Sandbox Code Playgroud)

java string swing

2
推荐指数
1
解决办法
310
查看次数

线程主java.util.InputMismatchException中的异常

我正在实现一个简单的HashMap程序,它存储人名和年龄.这是我的代码:

import java.util.*;

class StoreName {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < 5; i++) {
            String name = sc.nextLine();
            int age = sc.nextInt();
            map.put(name, age);
        }

        for (String key : map.keySet())
            System.out.println(key + "=" + map.get(key));
    }
}
Run Code Online (Sandbox Code Playgroud)

当我从nextInt()获取输入时,Scanner会抛出InputMismatchException异常,但如果我从nextLine()获取输入然后将其解析为int,那么我的代码就会正常运行.请解释一下.

如果我可以将字符串输入解析为任何类型,为什么我应该使用nextInt()或nextDouble().

java

1
推荐指数
1
解决办法
380
查看次数

如何拆分包含空格的字符串

我有这个代码,让用户输入一个字符串,其中2个部分由字符( - )分隔,输入的字符串将被分成两个不同的部分,然后在屏幕上输出这两个部分,用逗号分隔.

public class Test
{
public static void main(String[] args)
{
    java.util.Scanner scanner = new java.util.Scanner(System.in);

    String part = "";

    System.out.println("Please enter the 2-part string to be split: ");
    part = scanner.next();

    String[] parts = part.split("-");
    String part1 = parts[0];
    String part2 = parts[1];

    System.out.print("," + part1 + "," + part2);

    scanner.close();
}

}
Run Code Online (Sandbox Code Playgroud)

现在让我们说用户输入

AAA-222

结果将是

AAA,222

如果我想输入一个包含空格的字符串,如下所示

我爱你我恨你

我如何分裂(我爱你)和(我讨厌你)?我用上面的代码得到了这个错误.

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
    at tutorial.Test.main(test.java:17)
Run Code Online (Sandbox Code Playgroud)

PS.拆分部分应包括空格.

java string split

0
推荐指数
1
解决办法
97
查看次数

不确定为什么带有字符串的if语句不起作用

我正在努力制作一个基本的8球计划,并让它全部正常工作,但我想尝试改变它,所以如果人们问某些问题有预定义的答案.

package Main;

import java.util.Random;
import java.util.Scanner;

public class eightBall {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        System.out.println("Ask a yes or no question");

        String question = input.next();

        double rnd = Math.random();
        int random = (int)(rnd*10);
        int numberOfChoices = 5;

        if(question.equalsIgnoreCase("Will i win the lottery?")){
            System.out.println("The almigty 8 ball can not tell you this answer.");
        }else{
            switch(random % numberOfChoices){


            case 0:
                System.out.println("No");
                break;
            case 1:
                System.out.println("Yes");
                break;
            case 2:
                System.out.println("Maybe");
                break;
            case 3:
                System.out.println("Definitely");
                break;
            case …
Run Code Online (Sandbox Code Playgroud)

java if-statement

0
推荐指数
1
解决办法
163
查看次数

标签 统计

java ×6

string ×2

if-statement ×1

java.util.scanner ×1

split ×1

swing ×1