① java判斷迴文字元串幾種簡單的實現
import java.util.Scanner; public class Tststriu { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("輸入字元串的個數:"); int n = sc.nextInt(); String[] a = new String[n]; for(int i = 0;i < n;++i){ System.out.println("輸入第"+(i+1)+"個字元串:"); a[i] = sc.next(); } int sum = 0; String max = null; for(int i = 0;i < n;++i){ if(isString(a[i])) sum++; if(bijao(a[i],max)){ max = a[i]; } } System.out.println("迴文字元串個數是:"+sum); System.out.println("最大字元串是:"+max); } public static boolean isString(String s){ int n = s.length(); int i=0; for(i=0; i < n/2; i++) { if(s.charAt(i)!= s.charAt(n-1-i)) break; } if(i>=n/2) return true; else return false; } public static boolean bijao(String s1,String s2){ if(s2 == null) return true; int n = Math.min(s1.length(),s2.length()); for(int i = 0; i< n;++i){ if((int)s1.charAt(i)>(int)s2.charAt(i)) return true; else return false; } if(n==s1.length()) return false; else return true; } }
② java 怎麼樣輸出迴文川
public class Test {
public static void printIII(String s) {
System.out.print(s);
for (int i = s.length() - 1; i > 0; i--) {
System.out.print(s.charAt(i - 1));
}
System.out.println();
}
public static void main(String[] args) {
Test.printIII("1234");
Test.printIII("asdfghjkl");
}
}
輸出:
1234321
asdfghjklkjhgfdsa
③ Java編程-迴文矩陣怎麼寫啊
判斷一個三位數是不是奇數,是不是素數,是不是水仙花數的程序如下:
#include<stdio.h>
#include<math.h>
int main()
{
int n,a,b,c;
scanf("%d",&n);
if(n%2)printf("%d是一個奇數\n",n);
else printf("%d不是一個奇數\n",n);
for(a=2;a<=sqrt(n);a++)
if(n%a==0)break;
if(n%a)printf("%d是一個素數\n",n);
else printf("%d不是一個素數\n",n);
a=n/100;
b=n/10%10;
c=n%10;
if(n==a*a*a+b*b*b+c*c*c)printf("%d是一個水仙花數\n",n);
else printf("%d不是一個水仙花數\n",n);
return 0;
}
④ JAVA中的迴文是什麼一回是
"迴文數"是一種數字.如:98789, 這個數字正讀是98789,倒讀也是98789,正讀倒讀一樣,所以這個數字
就是迴文數.
任意某一個數通過以下方式相加也可得到
如:29+92=121 還有 194+491=685,586+685=1271,1271+1721=2992
不過很多數還沒有發現此類特徵(比如196,下面會講到)
另外個別平方數是迴文數
1的平方=1
11的平方=121
111的平方=12321
1111的平方=1234321
。
。
。
。
依次類推
3×51=153
6×21=126
4307×62=267034
9×7×533=33579
上面這些算式,等號左邊是兩個(或三個)因數相乘,右邊是它們的乘積。如果把每個算式中的「×」和「=」去掉,那麼,它們都變成迴文數,所以,我們不妨把這些算式叫做「迴文算式」。還有一些迴文算式,等號兩邊各有兩個因數。請看:
12×42=24×21
34×86=68×43
102×402=204×201
1012×4202=2024×2101
不知你是否注意到,如果分別把上面的迴文算式等號兩邊的因數交換位置,得到的仍是一個迴文算式,比如:分別把「12×42=24×21」等號兩邊的因數交換位置,得到算式是:
42×12=21×24
這仍是一個迴文算式。
還有更奇妙的迴文算式,請看:
12×231=132×21(積是2772)
12×4032=2304×21(積是48384)
這種迴文算式,連乘積都是迴文數。
四位的迴文數有一個特點,就是它決不會是一個質數。設它為abba,那它等於a*1000+b*100+b*10+a,1001a+110b。能被11整除。
六位的也一樣,也能被11整除
還有,人們藉助電子計算機發現,在完全平方數、完全立方數中的迴文數,其比例要比一般自然數中迴文數所佔的比例大得多。例如11^2=121,22^2=484,7^3=343,11^3=1331,11^4=14641……都是迴文數。
人們迄今未能找到五次方,以及更高次冪的迴文數。於是數學家們猜想:不存在nk(k≥5;n、k均是自然數)形式的迴文數。
在電子計算器的實踐中,還發現了一樁趣事:任何一個自然數與它的倒序數相加,所得的和再與和的倒序數相加,……如此反復進行下去,經過有限次步驟後,最後必定能得到一個迴文數。
這也僅僅是個猜想,因為有些數並不「馴服」。比如說196這個數,按照上述變換規則重復了數十萬次,仍未得到迴文數。但是人們既不能肯定運算下去永遠得不到迴文數,也不知道需要再運算多少步才能最終得到迴文數。
⑤ JAVA 迴文的正確演算法
java中的char是4個位元組,可以表示任何文字、符號,所以你的擔心是多餘的,不會出現亂碼
⑥ java編寫迴文數
按照你的要求編寫的,輸出從0到max中用二進製表示和十進製表示都是迴文數的Java程序如下:
importjava.util.Scanner;
publicclassCCF{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.print("請輸入一個整數:");
intmax=sc.nextInt();
for(inti=0;i<=max;i++){
Stringnum=String.valueOf(i);
Stringnum2=Integer.toBinaryString(i);
Stringreversenum=newStringBuffer(num).reverse().toString();
Stringreversenum2=newStringBuffer(num2).reverse().toString();
if(reversenum.equals(num)&&reversenum2.equals(num2)){
System.out.println(i+"用二進製表示"+num2+"和十進製表示"+i+"都是迴文數");
}
}
}
}
運行結果:
請輸入一個整數:1000
0用二進製表示0和十進製表示0都是迴文數
1用二進製表示1和十進製表示1都是迴文數
3用二進製表示11和十進製表示3都是迴文數
5用二進製表示101和十進製表示5都是迴文數
7用二進製表示111和十進製表示7都是迴文數
9用二進製表示1001和十進製表示9都是迴文數
33用二進製表示100001和十進製表示33都是迴文數
99用二進製表示1100011和十進製表示99都是迴文數
313用二進製表示100111001和十進製表示313都是迴文數
585用二進製表示1001001001和十進製表示585都是迴文數
717用二進製表示1011001101和十進製表示717都是迴文數
⑦ Java中編寫一個方法,判斷某字元串是否為迴文
/** 然後在main方法中調用這個方法列印出10000~99999之間所有的迴文數 */public class TestHuiWen { static int count = 0;// 計數 public static void main(String[] args) { int g, s, q, w;// 定義個、十、千、萬位專 for (int i = 10000; i <= 99999; i++) { g = i % 10;//取出個位數 s = i % 100 / 10;//取出十位屬數 q = i % 10000 / 1000;//取出千位數 w = i / 10000;//取出萬位數 if (g == w && s == q) { System.out.print(i + "%9"); count++; if (count % 4 == 0) System.out.println(); } } }}
⑧ JAVA怎麼編寫一個迴文數代碼
(intx){
if(x<0){returnfalse;}
intlen=1;
for(len=1;(x/len)>=10;len*=10);
while(x!=0){
intleft=x/len;
intright=x%10;
if(left!=right){
returnfalse;
}
x=(x%len)/10;
len/=100;
}
returntrue;
}
⑨ 如何在Java中將輸入的一個字元串變成迴文序列
String src = "abc";
String value = new StringBuffer(src).reverse().toString();
⑩ java 迴文
String s = "abbcbcbba";
StringBuffer sbuff=new StringBuffer(s);
String rs=sbuff.reverse().toString();//倒序一個字元串
System.out.println(s.equals(rs));
***********************
//這個演算法也行,只是程序問題太多,改了一下
//HuiWen.java //注意大小寫
public class HuiWen{//有入口方法和程序要想能運行必須用 public 修飾
int i,j;
String s1,s2;
public HuiWen(String es1,String es2){ //構造器
s1 = es1;
s2 = es2;
}
public /*String*/ boolean judge(){ //判斷字元串是否為迴文,你的返回值有什麼意義? 改成boolean或 void可能更合適
String es1=" ";
String es2=" ";
for(i=0;i<s1.length();i++){
char c = s1.charAt(i);
es1+=c;
}
//return es1;//這里用了個返回語句,程序就不能往下執行了,要注釋掉
for(int j=(s2.length()-1);j>=0;j--){//j 未聲明 for(int j
char d = s2.charAt(j);
es2+=d;
}
//return es2;//這里用了個返回語句,程序就不能往下執行了,要注釋掉
if (es1.equals(es2)){
System.out.println("字元串es1是迴文:"+es1);
return true;
}
else{
System.out.println("字元串es1不是迴文!");
return false;
}
}
public static void main(String[] args){
//String s1="gabag";
//String s2="gabag";
HuiWen h1=new HuiWen("gabag", "gabag");
// Huiwen h2=new Huiwen("s2");
h1.judge();
//h2.judge();
}
}