乱序排列,倒序。

一夜相思愁 2010-09-25 04:43:53
对于我随即智能输入的一串数字,要求打印出倒序的数字来。

例如:
我输入了 34128,要求打印出 82143 。
提示:
必须用到人机对话的智能窗口,代码类似于:Double.parsedouble(javax.swing.JOptionPane.showDialog("输入数字"));


求一段带注释,不是很复杂的代码。

如果是用一维数组做的,那就更好。
...全文
219 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
whut_lcy 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 supercodingman 的回复:]
public class InverseString {
public static void main(String[] args){
String s = "34128";
StringBuilder sBuilder = new StringBuilder(s);
System.out.println(sBuilder.reverse());
}
}
[/Quote]

正解。
直接用API即可,何必自己搞算法。
一夜相思愁 2010-09-25
  • 打赏
  • 举报
回复
.toString()

6楼、10楼,
为什么要加这个东西??
一夜相思愁 2010-09-25
  • 打赏
  • 举报
回复
3楼,
这怎么可能是冒泡?
冒泡原理是比较,这个能么?

我是乱序排列。
thegodofwar 2010-09-25
  • 打赏
  • 举报
回复

System.out.println(new StringBuffer("34128").inverse().toString());
colaice2009 2010-09-25
  • 打赏
  • 举报
回复

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class EasyRun extends JFrame implements ActionListener{
private JPanel
backPanel = new JPanel();

private JTextField numInput=new JTextField(20),
numOutput = new JTextField(20);

private JButton
button = new JButton("反转");

private JLabel
labelIn = new JLabel("输入",JLabel.CENTER),
labelOut = new JLabel("输出",JLabel.CENTER);//标签,文字居中

public EasyRun(){
super("数字反转");
backPanel.setLayout(new GridLayout(3,2));//布局方式,表格,3列2行
button.addActionListener(this);
getContentPane().add(backPanel);
backPanel.add(labelIn);
backPanel.add(labelOut);
backPanel.add(numInput);
backPanel.add(numOutput);
backPanel.add(button);
getContentPane().add(backPanel);
pack();
Dimension d = getToolkit().getScreenSize(), w = getSize();
setLocation((d.width - w.width) / 2,(d.height - w.height) / 2);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setResizable(false);
setVisible(true);
}

public void actionPerformed(ActionEvent ae){
Object source=ae.getSource();
if(source==button){
String s=numInput.getText();
try{
int num=Integer.valueOf(s);//判断是否为标准int型
//利用stringbuffer的函数直接反转
numOutput.setText(new StringBuffer(s).reverse()+"");
}catch(NumberFormatException e){numOutput.setText("输入有误。");}
}
}

public static void main(final String[] args){
new EasyRun();
}
}//Zz&
dr_lou 2010-09-25
  • 打赏
  • 举报
回复
逆序 Collections.reverse
乱序 Collections.shuffle
oO寒枫Oo 2010-09-25
  • 打赏
  • 举报
回复
2楼写得不错、
SuperCodingMan 2010-09-25
  • 打赏
  • 举报
回复

package csdn.javase.stringEx.ex1;
/**
*
* @author supercodingman
* @version 2.0
*/
public class InverseString {
public static void main(String[] args){
String s = "34128";
StringBuilder sBuilder = new StringBuilder(s);
//第一种方法是自带的方法
System.out.println(sBuilder.reverse());
//第二种是手写倒序
InverseString.reverseString(s);
}

public static void reverseString(String s){
StringBuilder sbuilder = new StringBuilder();
char[] c = s.toCharArray();
for(int i = c.length - 1; i >= 0; i --){
sbuilder.append(c[i]);
}
System.out.println(sbuilder.toString());
}
}/**output:
82143
82143
*/
SuperCodingMan 2010-09-25
  • 打赏
  • 举报
回复

public class InverseString {
public static void main(String[] args){
String s = "34128";
StringBuilder sBuilder = new StringBuilder(s);
System.out.println(sBuilder.reverse());
}
}
SuperCodingMan 2010-09-25
  • 打赏
  • 举报
回复
public class InverseString {
public static void main(String[] args){
String s = "34128";
StringBuilder sBuilder = new StringBuilder(s);
System.out.println(sBuilder.reverse());
}
}
xunmengfan 2010-09-25
  • 打赏
  • 举报
回复
什么意思 不就是个冒泡吗????
zhuzeitou 2010-09-25
  • 打赏
  • 举报
回复
public static void main(String[] args) {
String s;
while (!(s = JOptionPane.showInputDialog("输入数字")).matches("\\d+"));
char[] arr = s.toCharArray();
for (int i = arr.length - 1; i >= 0; i--)
System.out.print(arr[i]);
System.out.println();
}


好吧,我认为……不需要什么注释吧
meadking 2010-09-25
  • 打赏
  • 举报
回复
string m = new string()
m = "34128";
char[] c = m.toCharArray();
for(int i = c.lengh; i<c.lengh;i--)
{
c[i]="出来了"
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧