Java 本程序是为了区分输入值是否正确

Java 本程序是为了区分输入值是否正确,java,Java,用户应输入一个小数点后一位的实数和一个自然数。程序打印用户输入是否正确。因此,当我输入1.4和5时,我希望程序打印“您输入正确”,但它会输出“您输入错误”。我如何解决这个问题 匹配的方法采用正则表达式。如果放置\f,则要求它匹配表单提要字符 这里有一个引用:在正则表达式中,\f与浮点数不匹配,正如您所希望的那样-它匹配一种称为“换行符”的特殊字符 尝试将正则表达式匹配更改为: import java.util.Scanner; public class MatchesMethodTest {

用户应输入一个小数点后一位的实数和一个自然数。程序打印用户输入是否正确。因此,当我输入1.4和5时,我希望程序打印“您输入正确”,但它会输出“您输入错误”。我如何解决这个问题

匹配的
方法采用正则表达式。如果放置
\f
,则要求它匹配表单提要字符


这里有一个引用:

在正则表达式中,
\f
与浮点数不匹配,正如您所希望的那样-它匹配一种称为“换行符”的特殊字符

尝试将正则表达式匹配更改为:

import java.util.Scanner;

public class MatchesMethodTest {

    public static void main(String[] args) {    
        String s;

        Scanner input = new Scanner(System.in);
        System.out.print("Input one real number to one decimal place and one natural number(ex. 1.4 5): ");
        s = input.next();

        if (s.matches("\\f{1} \\d{1}$"))
            System.out.print("You input correctly.");
        else
            System.out.print("You input incorrectly.");
    }
}
这将检查单个数字、句点、数字、空格和最后一个数字。(请注意,您的“自然数”被
{1}
术语限制为一位。)


编辑:您可能还需要将
input.next()
更改为
input.nextLine()
,因为
.next()
方法可能只获取第一个整数。未经测试。

您能粘贴代码和输出而不是屏幕截图吗?我非常感谢您的帮助。非常感谢你!。
s.matches("\\d{1}\\.\\d{1} \\d{1}$")