gpt4 book ai didi

java - 输入/比较字符串、返回数字、Java

转载 作者:太空宇宙 更新时间:2023-11-04 12:05:54 24 4
gpt4 key购买 nike

最近,我一直在尝试构建一个可以完成 4 件事的程序:

1) 从键盘输入一个单词。

2) 使用包含字母表字母的字符串的上下文检查该单词的上下文。

3) 将给定单词的字母与字母串中的字母进行比较,只要匹配,就会返回该字母在字母串中的位置+1。 (例如,word='a' 位置=1,因为 'a' 是第一个字母)

4) 获取所有这些位置的总和。(例如,word='abc'total=6)

现在让我向您展示我用代码编写的内容。


//Part 1 Entering word from keyboard<p></p>

<p>package IntroductionJava;</p>

<p>import java.util.Scanner;</p>

<p>public class Numerology
{</p>

<pre><code>public static void main(String[] args)
{

int m=0,n=0,sum=0;
int j,k;


Scanner user_input=new Scanner(System.in);

String word;
System.out.print("Give a word: ");
word=user_input.next();
</code></pre>

<p>String word1 = "\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c3\u03c2\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9";</p>

//Part 2 check word

for(int i=0; i<word.length(); i++)
{

if(word.charAt(i)>=word1.charAt(0) && word.charAt(i)<=word1.charAt(word1.length()-1))
{
System.out.println("Your word '"+word+"' is valid.");
break;
}

else
{
System.out.println("Your word '"+word+"' is invalid.");
}
break;
//show System.out.print(word.charAt(i));
}

//Part 3 Compare letters

for(j=0; j<word.length(); j++)
{
for(k=0; k<word1.length(); k++)
{
if(word.charAt(j)==word1.charAt(k))//???
{
m=k+1;
}

}

}


}

现在,第 1 部分和第 2 部分运行良好。

我的问题在于,当我尝试将输入的单词的字母与 unicode 格式的字母字符串进行比较时(unicode 格式的字母来自希腊字母表)。我尝试了很多变体,也查阅了这里的一些文章,但找不到解决方案。

为了让事情更清楚一点,假设我正在输入单词:“hello”。我想检查“h”是否在字母字符串内部,如果是,我想获取它的整数位置,在我们的例子中它是数字“8”(字符串中的位置+1)等等。

我的程序的最后一部分是从给定的单词中获取所有这些数字并得出其总数('hello'=8+5+12+12+20=57)。

提前非常感谢您。

最佳答案

这个怎么样:

String alphabet = "abcdefgh";
String input = "abc";
int value = input.chars()
.map(alphabet::indexOf)
.map(i -> i + 1)
.sum()

System.out.println(value);

关于java - 输入/比较字符串、返回数字、Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40364955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com