【问题标题】:Angram Strings in Java [duplicate]Java中的Angram字符串[重复]
【发布时间】:2018-03-21 14:07:14
【问题描述】:

我正在尝试用 Java 创建一个字谜生成程序。 我正在使用String.toCharArray(); 逐字符存储单词。 为了完成字谜,我需要反转两个数组位置之间的值。我该怎么做?

【问题讨论】:

  • 你只是想反转字符串吗?
  • 你知道字谜的数量是指数的,对吧?
  • 您正在寻找swap。尝试阅读:stackoverflow.com/questions/13766209/…
  • 是的,我知道涉及阶乘的公式!感谢您的链接,它解决了问题!
  • PS:欢迎来到 StackOverflow,这是您的第一个问题,希望您接受 SO 的小 tour。我建议你检查How to Ask。请记住,您可以随时edit 改进您的问题。

标签: java arrays sorting anagram


【解决方案1】:

创建一个临时变量并将数组的第一个值存储在其中。然后将第一个元素的值设置为最后一个元素的值,然后将最后一个元素设置为temp变量,然后对数组的每个索引重复直到中间

char[] chars = char[]{a,b,c}
char temp;
for (int i=0; i < (int)char.length; i++) {
  char temp = chars[i];
  chars[i] = chars[chars.length - i];
  chars[chars.length - i] = temp;
}

【讨论】:

  • 首先,您在(int)char.length 中输入了一个错字,然后为什么需要强制转换?数组长度已经是int。 PS:结果数组将与该循环结束时相同...
  • 首先这不是他要求的:他只想交换两个字符。其次,您在 if 语句中将 chars 拼错为 char,因此它不起作用。 @AxelH chars.length 提到的第三个已经是 int 并且不需要强制转换。最后,您说“重复直到中间”,然后对整个数组进行了循环,因此结果将与输入相同。
猜你喜欢
  • 2013-05-18
  • 2014-03-25
  • 2012-09-26
  • 2013-06-08
  • 2014-09-24
  • 2014-11-21
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
相关资源
最近更新 更多