我必须编写一个方法来切换字符串的第一个和最后一个字母。例如,字符串“java”将变为“aavj”。
这是我到目前为止所做的:
import javax.swing.JOptionPane;
public class printTest {
public static void main(String[] args) {
String password;
password = JOptionPane.showInputDialog("Please input your password");
int length = password.length();
String firstChar = password.substring(0, 1);
String lastChar = password.substring(length - 1);
password = lastChar + password + firstChar;
JOptionPane.showMessageDialog(null, password);
}
}
使用该代码,当我输入“java”时,我得到以下输出“ajavaj”,那么我该如何解决这个问题呢?我需要切换前两个字母,仍然有字符串的中间。我该怎么办?
答案 0 :(得分:7)
您需要在此行上输入密码:
SELECT A.key, A.author,
I.key, I."Type"
FROM authorCollection AS A
JOIN book AS I
ON A.key = I.key AND I."TYPE" <> 'UNKNOWN';
答案 1 :(得分:3)
通过执行// Simple Call
array(13) {
[0]=> string(69) "/xampp/htdocs/WORK.htaccess"
[1]=> string(73) "/xampp/htdocs/WORKConverter.php"
[2]=> string(69) "/xampp/htdocs/WORKEvent.php"
[3]=> string(70) "/xampp/htdocs/WORKdefault_filter.json"
[4]=> string(68) "/xampp/htdocs/WORKdefault_filter.xml"
[5]=> string(80) "/xampp/htdocs/WORKCaching/ApcCache.php"
[6]=> string(84) "/xampp/htdocs/WORKCaching/CacheFactory.php"
}
// Regex Call
array(13) {
[0]=> string(69) "/xampp/htdocs/WORKEvent.php"
[1]=> string(73) "/xampp/htdocs/WORKConverter.php"
[2]=> string(80) "/xampp/htdocs/WORKCaching/ApcCache.php"
[3]=> string(84) "/xampp/htdocs/WORKCaching/CacheFactory.php"
}
,您将原始密码String与其他两个字符串连接起来,即password = lastChar + password + firstChar;
&amp; lastChar
。通过执行此操作,您实际上会获得一个新的字符串,其中firstChar
和lastChar
已附加且未交换。
此外,字符串是不可变的,每次你试图操作它时,你最终都会创建一个新的字符串。您应该使用firstChar
数组来避免此问题。
试试这段代码:
char
答案 2 :(得分:2)
我认为这应该可以解决问题:
import javax.swing.JOptionPane;
public class printTest
{
public static void main(String[] args)
{
String password;
password = JOptionPane.showInputDialog("Please input your password");
int length = password.length();
String password_changed = password.substring(1, password.length() - 1);
String firstChar = password.substring(0,1);
String lastChar = password.substring(length - 1);
password = lastChar + password_changed + firstChar;
JOptionPane.showMessageDialog(null, password);
}
}
你删除了密码变量的第一个和最后一个字母,你做了一个额外的字符串(在这个例子中是password_changed)。您可以使用该新变量在最后更改密码变量。
答案 3 :(得分:1)
char c[] = password.toCharArray();
char temp = c[0]
c[0] = c[password.length-1];
c[password.length-1] = temp;
你去,交换那两个字母。
c[0]
将是您的第一个字母,您将其存储在temp
变量中,然后使用c[0]
中的c[password.length-1]
修改MySQL
(您的第一个字母)的值最后一个字母)然后使用临时变量
答案 4 :(得分:1)
你获得第一个角色的方式是正确的,但不是中间或最后一个。这是一个显示所有三种情况的解决方案:
String password = "123456789";
int length = password.length();
String firstChar = password.substring(0, 1);
String middle = password.substring(1, length - 1);
String lastChar = password.substring(length - 1, length);
password = lastChar + " " + middle + " " + firstChar;
System.out.println(password);
这将打印:
9 2345678 1
答案 5 :(得分:1)
与其他答案没什么不同,但另一种方式:
password = password.charAt(password.length() - 1)
+ password.substring(1, password.length() - 1)
+ password.charAt(0);