在Java中将分数转换为单词

在Java中将分数转换为单词,java,math,pseudocode,fractions,Java,Math,Pseudocode,Fractions,我有一个问题:我想把1/2、3/4这样的分数转换成Java中的口语单词,比如“一半”或“四分之三” Java中是否有任何方法(伪代码)或实用程序可以生成基本上接收数字的输出 比如: getSpokenWords(分子、分母)返回“一半” 非常感谢。您只需在getSpokenWords(分子、分母)中使用if-else或开关,就可以实现您的逻辑,因为您更清楚地知道作为分母和分子的预期输入,因为我们的所有预期投入可能都不适合您。 您可以为分母和分子维护哈希映射,整数是分母和分子的值,字符串是它们的字

我有一个问题:我想把1/2、3/4这样的分数转换成Java中的口语单词,比如“一半”或“四分之三”

Java中是否有任何方法(伪代码)或实用程序可以生成基本上接收数字的输出

比如:

getSpokenWords(分子、分母)
返回“一半”


非常感谢。

您只需在
getSpokenWords(分子、分母)
中使用
if-else
开关,就可以实现您的逻辑,因为您更清楚地知道作为
分母和
分子的预期输入,因为我们的所有预期投入可能都不适合您。

您可以为
分母
分子
维护
哈希映射
整数
分母
分子
的值,
字符串
是它们的字母对应项,可以
获取()
相应地从中提取值。

您可以通过在
getSpokenWords(分子、分母)
中使用
if else
开关来实现您的逻辑,因为您更清楚地知道作为
分母和
分子的预期输入,因为我们的所有预期投入可能都不适合您。

您可以为
分母
分子
维护
哈希映射
整数
分母
分子
的值,
字符串
是它们的字母对应项,可以
获取()
相应地从中提取值。

您可以通过在
getSpokenWords(分子、分母)
中使用
if else
开关来实现您的逻辑,因为您更清楚地知道作为
分母和
分子的预期输入,因为我们的所有预期投入可能都不适合您。

您可以为
分母
分子
维护
哈希映射
整数
分母
分子
的值,
字符串
是它们的字母对应项,可以
获取()
相应地从中提取值。

您可以通过在
getSpokenWords(分子、分母)
中使用
if else
开关来实现您的逻辑,因为您更清楚地知道作为
分母和
分子的预期输入,因为我们的所有预期投入可能都不适合您。

您可以为
分母
分子
维护
哈希映射
整数
分母
分子
的值,
字符串
是它们的字母对应项,可以
获取()
相应地从中提取值。

据我所知,没有一个标准库可以做到这一点,据我所知,您无法为此制定可扩展的解决方案

我推荐的一种方法是创建数组,基本上将数字映射到对应的单词。比如说,

String[] numerators = {"One", "Two", "Three", ... // etc., until you reach your desired limit
String[] denominators = {"whole", "hal", "third", ...
然后,您的getSpokenWords(分子、分母)方法可以连接这些字符串,并在需要时添加复数结尾。(“Half”因其不规则的复数形式而被列为“hal”,因此您可以根据需要连接“ve”或“f”)


编辑:如果你想聪明一点,你甚至可以使用循环、除法和模来将更高的数字分隔成它们的位置值。例如,525600可以分为525和600,从中可以得到相当于525(5225)的文本,并在其后面加上“千”。当然,获取字符串“伍佰贰拾五”本身也需要分离。

据我所知,没有标准库可以做到这一点,而且据我所知,您无法为此提供可扩展的解决方案

我推荐的一种方法是创建数组,基本上将数字映射到对应的单词。比如说,

String[] numerators = {"One", "Two", "Three", ... // etc., until you reach your desired limit
String[] denominators = {"whole", "hal", "third", ...
然后,您的getSpokenWords(分子、分母)方法可以连接这些字符串,并在需要时添加复数结尾。(“Half”因其不规则的复数形式而被列为“hal”,因此您可以根据需要连接“ve”或“f”)


编辑:如果你想聪明一点,你甚至可以使用循环、除法和模来将更高的数字分隔成它们的位置值。例如,525600可以分为525和600,从中可以得到相当于525(5225)的文本,并在其后面加上“千”。当然,获取字符串“伍佰贰拾五”本身也需要分离。

据我所知,没有标准库可以做到这一点,而且据我所知,您无法为此提供可扩展的解决方案

我推荐的一种方法是创建数组,基本上将数字映射到对应的单词。比如说,

String[] numerators = {"One", "Two", "Three", ... // etc., until you reach your desired limit
String[] denominators = {"whole", "hal", "third", ...
然后,您的getSpokenWords(分子、分母)方法可以连接这些字符串,并在需要时添加复数结尾。(“Half”因其不规则的复数形式而被列为“hal”,因此您可以根据需要连接“ve”或“f”)


编辑:如果你想聪明一点,你甚至可以使用循环、除法和模来将更高的数字分隔成它们的位置值。例如,525600可以分为525和600,从中可以得到相当于525(5225)的文本,并在其后面加上“千”。当然,获取字符串“伍佰贰拾五”本身也需要分离。

据我所知,没有标准库可以做到这一点,而且据我所知,您无法为此提供可扩展的解决方案

我推荐的一种方法是创建数组,基本上将数字映射到对应的单词。比如说,

String[] numerators = {"One", "Two", "Three", ... // etc., until you reach your desired limit
String[] denominators = {"whole", "hal", "third", ...
你的getSpokenWords(分子,