![](/img/trans.png)
[英]I can't get an image on the left side of my Android XML Layout to appear properly. What am I doing wrong here?
[英]Trying to get my string to rotate left. What am I doing wrong here?
我是 Java 的新手,我正在嘗試讓我的代碼正常工作,但有點卡住了。 我想讓一個字符串向左隨機旋轉一個量,但我一直遇到錯誤。 這是我目前擁有的:
String rotateLeft(String input, int i) {
if (input == null) {
return null;
}
if (input.length() == 0) {
return input;
}
int r = i % input.length();
String one = input.substring(input.length() - r);
String two = input.substring(0, input.length() - r);
return one + two;
}
如果我能得到一些幫助來修復它,那就太棒了!
編輯:我改變了我的代碼,現在它看起來像這樣:
// String Rotate Left
String rotateLeft(String s, int rotate) {
// Sanity checks
char[] rotatedString = new char[s.length()];
for (int i = 0; i < s.length(); i++) {
int newPosition = (i + rotate) % s.length();
assert newPosition >= 0 && newPosition < s.length() : "Bad index " + newPosition;
rotatedString[newPosition] = s.charAt(i);
}
return new String(rotatedString);
}
System.out.println(rotateLeft("CS125", 1));
它不是打印出 S125C,而是打印出 5CS12。 我將如何更改它以打印出我想要的內容?
要在字符串上向左旋轉,一種方法確實是將提供的輸入字符串中的兩個子字符串串聯起來,基本上就像您正在使用的那樣,但是您已經過度復雜了:
String leftRotatedString = input.substring(numberOfCharsToRotate)
+ input.substring(0, numberOfCharsToRotate);
我不能為我的生活但是看看你的代碼中有什么是隨機的。 如果您想旋轉隨機數量的字符串字符,那么也許可以使用Random class 及其nextInt()方法,例如:
// The input string:
String input = "MississippiRiver";
// Generate a random 'index' value of the input string:
int rnd = new Random().nextInt(input.length() - 1) + 1;
// Carry out the rotation:
String leftRotation = input.substring(rnd) + input.substring(0, rnd);
// Display the random rotation value (the number of characters to rotate left by):
System.out.println("Random Number Of Characters To Rotate By: --> " + rnd);
// Display the rotated result string:
System.out.println("Result: --> " + leftRotation);
編輯:根據您發布的編輯更新:
你會做一個正確的旋轉,例如:
System.out.println(s.substring(s.length() - 2)
+ s.substring(0, s.length() - 2));
output 將是:
5CS12
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.