如何使用ÄÖ&Å;在java输入中?
所以。我想知道我怎样才能做到如何使用ÄÖ&Å;在java输入中?,java,equals,Java,Equals,所以。我想知道我怎样才能做到 系统打印包含a-z+å、ä和ö字母的单词。 (目前,å、ä和ö以一种奇怪的方式印刷。我很确定你知道它是什么样子的:D) 用户输入一个单词并将其与第一个单词进行比较。此时,如果上面的单词包含ä,ö或å,我输入这个单词。。看不到那两个之间的匹配 所以问题是:我怎样才能使它,如果你把å,ä或ö输入,它会注意到它在刚刚打印的单词中是完全相同的å,ä,ö?我正在使用 answer.equals(rightanswer) 这是我的全部代码:D大部分只是任务和答案:) impor
answer.equals(rightanswer)
这是我的全部代码:D大部分只是任务和答案:)
import java.io.*;
导入java.awt.*;
公共级萨纳奥皮斯托{
公众静态智力;
公共静态字符串rightanswer;
公共静态字符串问题;
公共权利;
公共静态输入错误;
公共静态双重比率;
公共静态void main(字符串[]args){
BufferedReader in=新的BufferedReader(新的InputStreamReader(System.in));
试一试{
系统输出打印(“Moneenko sanaan tahdot vastata?”);
quanity=Integer.parseInt(in.readLine());
对于(intx=0;xUTF-8),您应该能够使用它们
你是芬兰人,对吗?:)
如果您尝试:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in, "UTF-8"));
你的工作怎么样
编辑:
不知何故,应该工作的UTF-8似乎不起作用。我尝试使用-Dfile.encoding=UTF8
作为JVM属性,但对我不起作用
所以我基本上尝试了所有可用的字符集,其中很少给出正确的字符,以下是字符集名称:
x-ISO-2022-CN-GB,x-ISO-2022-CN-CNS,x-IBM922,windows-1258,windows-1254,windows-1252,
ISO-8859-9、ISO-8859-4、ISO-8859-1、ISO-2022-KR和ISO-2022-CN
例如,如果您尝试:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in, "x-ISO-2022-CN-GB"));
它应该可以工作我猜您正在使用System.out和System.in,其中使用系统默认编码
这是windows命令行中的某种DOS编码,具体取决于您的计算机设置
因此,要允许像äöü之类的任何类型的Unicode字符按您的意愿进行读取和打印,您必须更改命令行编码(例如,告诉DOS使用不同的编码),并让java使用相同的编码
要正确回答如何做到这一点,需要更多关于操作系统的信息
在java端,您可以使用InputStreamReader
并将字符集(编码)提供给它的构造函数进行读取,还可以使用PrintStream
(也提供相同的编码)写。我发现很难理解你的问题。我是唯一一个吗?我很确定你知道它是什么样子的
不,不是所有人都知道,如果你包含这些信息,我们中的一些人可能知道如何解决你的问题。你需要在创建问题时付出更多的努力。你是如何使用/运行你的r应用程序。是否在操作系统控制台中?检查您是否使用了正确的字符编码。如果您使用正确的系统编码写入这些字符,则应正确显示这些字符。(阅读时相同).好的,我在这里插入我的全部代码不需要全部代码,我们可以用它们来重现这种行为就足够了。也就是说,很难修复任何基于编码的问题。我建议您使用窗口而不是命令行(例如Swing或SWT).我是芬兰人,你从哪里知道的?:我在哪里可以得到UTF-8?我在处理芬兰语输入时遇到了与你相同的问题。我使用的是扫描仪,解决方案是:扫描仪扫描仪=新扫描仪(新文件(“fileName.txt”),“UTF-8”);对我来说,它是这样写的:sanaopisto.java:11:error:unreported exception UnsupportedEncodingException;必须被捕获或声明为抛出BufferedReader in=new BufferedReader(new InputStreamReader(System.in,“UTF-8”);^--在单词new之后加上点(现在它没有给我任何错误,但它无论如何都不起作用了):/这些错误仍然以一种奇怪的方式出现/
BufferedReader in = new BufferedReader(new InputStreamReader(System.in, "x-ISO-2022-CN-GB"));