JAVA编写程序,判断是否为回文
回文是指正向和反向读都一样的一段数字或者文字,诸如32123。编写程序,输入一个5位整数,并判断它是否是回文。如果输入数没有5位,则显示一个错误消息对话框,向用户指出问题...
回文是指正向和反向读都一样的一段数字或者文字,诸如32123。编写程序,输入一个5位整数,并判断它是否是回文。如果输入数没有5位,则显示一个错误消息对话框,向用户指出问题,并允许用户再次输入另一个数。程序可以连续运行,只到用户输入程序结束标志“00000”为止。
要求与提示:1.通过JOptionPane 获取用户输入,用While循环确保用户正确输入;2.用除法和求模运算来获取各个数字;3.通过查询JOptionPane的JOptionPane.showMessageDialog( )方法参数的变更来显示错误消息对话框。 展开
要求与提示:1.通过JOptionPane 获取用户输入,用While循环确保用户正确输入;2.用除法和求模运算来获取各个数字;3.通过查询JOptionPane的JOptionPane.showMessageDialog( )方法参数的变更来显示错误消息对话框。 展开
展开全部
你的算法有问题,我再你得基础上修改下:
import java.applet.Applet;
import java.awt.Event;
import java.awt.Label;
import java.awt.TextField;
public class HUiWen extends Applet {
Label prompt;
TextField input;
int data;
public void init() {
prompt = new Label("输入数字");
input = new TextField(4);
add(prompt);
add(input);
}
public boolean action(Event e, Object o) {
int data = Integer.parseInt(input.getText());
showStatus("");
input.setText("");
int count = 0;
String[] arr = new String[1000000];
while (data != 0) {
arr[count] = String.valueOf(data % 10);
data = data / 10;
count++;
}
int j = count - 1;
boolean flag = true;
for (int i = 0; i < count / 2; i++, j--) {
if (!arr[i].equals(arr[j])){
showStatus("不是回文数");
flag = false;
}
}
if(flag){
showStatus("是回文数");
}
repaint();
return true;
}
}
我自己写的处理回文,比你那个省内存
import java.applet.Applet;
import java.awt.Event;
import java.awt.Label;
import java.awt.TextField;
public class HUiWen extends Applet {
Label prompt;
TextField input;
public void init() {
prompt = new Label("输入数字");
input = new TextField(4);
add(prompt);
add(input);
}
public boolean action(Event e, Object o) {
String text = input.getText().trim();
showStatus("");
input.setText("");
StringBuilder sb = new StringBuilder(text);
if (sb.reverse().toString().equals(text)) {
showStatus("不是回文数");
} else {
showStatus("是回文数");
}
repaint();
return true;
}
}
import java.applet.Applet;
import java.awt.Event;
import java.awt.Label;
import java.awt.TextField;
public class HUiWen extends Applet {
Label prompt;
TextField input;
int data;
public void init() {
prompt = new Label("输入数字");
input = new TextField(4);
add(prompt);
add(input);
}
public boolean action(Event e, Object o) {
int data = Integer.parseInt(input.getText());
showStatus("");
input.setText("");
int count = 0;
String[] arr = new String[1000000];
while (data != 0) {
arr[count] = String.valueOf(data % 10);
data = data / 10;
count++;
}
int j = count - 1;
boolean flag = true;
for (int i = 0; i < count / 2; i++, j--) {
if (!arr[i].equals(arr[j])){
showStatus("不是回文数");
flag = false;
}
}
if(flag){
showStatus("是回文数");
}
repaint();
return true;
}
}
我自己写的处理回文,比你那个省内存
import java.applet.Applet;
import java.awt.Event;
import java.awt.Label;
import java.awt.TextField;
public class HUiWen extends Applet {
Label prompt;
TextField input;
public void init() {
prompt = new Label("输入数字");
input = new TextField(4);
add(prompt);
add(input);
}
public boolean action(Event e, Object o) {
String text = input.getText().trim();
showStatus("");
input.setText("");
StringBuilder sb = new StringBuilder(text);
if (sb.reverse().toString().equals(text)) {
showStatus("不是回文数");
} else {
showStatus("是回文数");
}
repaint();
return true;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询