如何从字符串中打印随机字符?

内森

我要交作业,作业的最后一部分问:

假设s是任何字符串。编写一系列语句,这些语句将打印s中的随机字符。

到目前为止,这是我想出的:

for(int j = 0; j < s.length(); j++){
}
int l = ((int)Math.random()*s.length());
char ch = s.charAt(l);
System.out.println(ch);

我认为这些是我需要学习如何理解/成功编写此代码所需要的基本概念。我感到困惑的是这些特定代码行的位置,例如,如果charAt方法应该位于循环之前,等等。

马文

您几乎已经拥有了。我认为您的主要问题是这部分:

int l = ((int)Math.random()*s.length());

您的(int)演员表放错了位置。如果您阅读Javadoc,Math.random()则会看到它返回一个双精度值“大于或等于0.0且小于1.0”。将这个范围的值强制转换为int(即简单地舍去所有小数位)将始终导致0,该结果仅显示字符串的第一个字符。

解决方案是先将其乘以字符串的长度,然后再进行转换:

int l = (int)(Math.random()*s.length());

如果只想打印一个随机字符,则不需要任何循环,因此可以从代码中删除它。

有关工作示例,请参见此小提琴您仍然需要做的是考虑如何获取输入字符串(提示:也许从中读取System.in)。

public static void main (String[] args) throws java.lang.Exception
{
    String s = "foobar42";
    int l = (int)(Math.random()*s.length());
    char ch = s.charAt(l);
    System.out.println(ch);
}

最后要在课堂上炫耀一下,您还可以看看Random可以用类似以下内容替换上一行课程:

int l = new Random().nextInt(s.length());

看看是否可以理解两种方法的区别尽管这与您的分配和超出范围完全无关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打印随机字符串

来自分类Dev

从列表中打印随机字符串(多次),无重复

来自分类Dev

从数组中打印出随机字符串

来自分类Dev

随机化在c中打印的字符串

来自分类Dev

如何从选择的用户表单输入中打印随机字符串javascript / jquery

来自分类Dev

从带有多个单词的字符串中打印随机字符串

来自分类Dev

打印生成的随机字符串

来自分类Dev

打印生成的随机字符串

来自分类Dev

如何随机显示数组中的字符串字符

来自分类Dev

(快速)如何在字符串中打印“ \”字符?

来自分类Dev

字符串中随机字符的IndexError

来自分类Dev

字符串中随机字符的IndexError

来自分类Dev

如何从字符串数组列表中随机选择

来自分类Dev

如何在Oracle中删除随机子字符串

来自分类Dev

如何随机替换列表中的字符串

来自分类Dev

如何在随机列中grep特定字符串

来自分类Dev

如何查找数组中特定字符串的随机值

来自分类Dev

如何从列表、元组或字符串中获取随机项?

来自分类Dev

如何从python中的字符串生成随机值?

来自分类Dev

MySQL-如何用列表中的随机字符串替换字符串

来自分类Dev

如何打印类型(字符串(IO字符串))?

来自分类Dev

如何将字符串中随机重复的字符“”替换为交替的字符“”和“”(Python)?

来自分类Dev

如何打印字符串中每行的行号?

来自分类Dev

如何在消息框中打印多行字符串?

来自分类Dev

如何在C中打印居中对齐的字符串

来自分类Dev

如何在Lua中打印联接的字符串表?

来自分类Dev

如何打印匹配的字符串以php中的文件结尾

来自分类Dev

如何从字典中打印的字符串的末尾删除/ n?

来自分类Dev

如何打印列表中字符串之间的距离

Related 相关文章

热门标签

归档