扫描仪不适用于重音符号

问题描述 投票:0回答:1

我正在尝试与字符串进行比较,一个来自用户,另一个来自文件。读取用户输入时,扫描仪不会拾取带重音的字符,显示为问号(我正在使用Netbeans)。我的几个朋友拥有完全相同的代码,并且在那里工作。我试图创建一个新项目或更改编码,但是没有任何效果。这是代码:

   str = sc.nextLine();
   strAux1 = Normalizer.normalize(str, Normalizer.Form.NFD);
   strAux1 = strAux1.replaceAll("\\p{M}", "");```
java java.util.scanner normalization non-ascii-characters
1个回答
1
投票
Scanner sc=new Scanner(System.in).useLocale(new Locale("ru"));

下面是一个示例程序:

import java.util.Locale;
import java.util.Scanner;

public class Helper {
    public static void main(String args[]) {
        Scanner sc=new Scanner(System.in).useLocale(new Locale("ru"));
        System.out.print("Enter a text: ");
        String str=sc.nextLine();
        System.out.println(str);
    }
}

示例运行:

Enter a text: Rússia Rússia

© www.soinside.com 2019 - 2024. All rights reserved.