エコー文字列を決定するためのjavaの簡単な実装をいくつか紹介します。
2022-02-21 05:31:18
11年間のR&D経験、会計士からアルゴリズムエンジニアに転身、C#、c++、Java、アンドロイド、PHP、Go、js、パイソン、CNNニューラルネットワーク、4千以上のブログ記事、3千以上のオリジナル、ただあなたと共有するために、一緒に成長、一緒に進歩、私に従って、あなたにもっと乾いた知識を共有しています!
echo文字列を決定するためのjavaの簡単な実装をいくつか紹介します。
<スパン
1. 以下のように文字列を反転して、1つずつ比較します。
public class HuiWenTest {
/**
* @SERLIN
*/
public static void main(String[] args) {
String str = "";
System.out.println("Please enter a string ");
Scanner input = new Scanner(System.in);
str = input.next();
StringBuffer sb = new StringBuffer(str);
sb.reverse();// reverse the string in Str
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == sb.charAt(i)) {
count++;
}
}
if (count == str.length()) {
System.out.println("This string is a palindrome string");
} else {
System.out.println("This string is not a palindrome");
}
}
<スパン
2. 以下のように文字列を反転させ、直接比較するための新しい文字列を作成します。
public class HuiWenTest2 {
/**
* @SERLIN
*/
public static void main(String[] args) {
System.out.println("Please enter a string");
Scanner input = new Scanner(System.in);
String str = input.next();
StringBuilder sb = new StringBuilder(str);
sb.reverse();//Invert the str method
String newStr=new String(sb);
if(str.equals(newStr)){
System.out.println(str+"is the return string");
}else{
System.out.println(str+"not the echo string");
}
}
}
<スパン
3. 比較にインターセプトされた文字列を使用する、以下のように実装されています。
public class HuiWenTest3 {
/**
* @SERLIN
*/
public static void main(String[] args) {
System.out.println("Please enter a string");
Scanner input = new Scanner(System.in);
String str = input.next();
int count = 0;
for (int i = 0; i < str.length() / 2; i++) {
if ((str.substring(i, i + 1)).equals(str.substring(str.length() - 1- i, str.length() - i))) {
count++;
}
}
if (count == str.length() / 2) {
System.out.println("is the echo string");
}else{
System.out.println("is not a palindrome");
}
}
}
<スパン
4. エコー数の決定(純数の決定)、以下のように実装されています。
public class HuiWenNum {
/**
* @SERLIN
*/
public static void main(String[] args) {
int n;
System.out.println("Please enter an integer:");
// If the result is the number of palindromes, jump out of the loop
while (true) {
Scanner InpuNum = new Scanner(System.in);
n = InpuNum.nextInt();
if (isHuiWen(n)) {
System.out.println(n + "isHuiWenNum! ");
break;
} else {
System.out.println(n + "Not the number of palindromes! ");
}
}
}
// The number to determine whether the number is a palindrome
public static boolean isHuiWen(int n) {
int m = reverse(n);
if (m == n) {
return true;
} else {
return false;
}
}
// reverse the input number in order to determine whether it is a palindrome
public static int reverse(int n) {
int temp = 0;// temporary variable
int j = 0;// inverted number
temp = n;// the input number assigned to the temporary variable
while (temp ! = 0) {
j = j * 10 + temp % 10;
temp /= 10;
}
return j;
}
}
-エコー回数の定義。
負でない数については、その左辺と右辺が同じであればエコーとなる。例:121 11 など。
負の数の場合、左辺と右辺の絶対値が同じであれば回文となる。
与えられた数字が回文かどうかを判定し、回文であれば真を、回文でなければ偽を出力するアルゴリズムを設計しなさい。
c++のコードです。
#include <iostream>
#include <math.h>
using namespace std;
bool isPadlindrome(int n)
{
// if it is the smallest value of type int obviously not a palindrome
if (n == INT_MIN)
{
return false;
}
// absolute value
n = abs(n);
int tmp = 1;
// change tmp bits to be the same as n
while(n / tmp >= 10) // prevent tmp from overflowing
{
tmp *= 10;
}
// n = 0 means all bits are compared
while(n ! = 0)
{
// highest bit ! = lowest bit
if (n / tmp ! = n % 10)
{
return false;
}
// highest bit = lowest bit remove highest bit remove lowest bit
// Continue the comparison
n = (n % tmp) / 10;
tmp /= 100;
}
return true;
}
int main(void)
{
int n;
cin>>n;
if (isPadlindrome(n))
{
cout<<"true"<<<endl;
}
else
{
cout<<"false"<<<endl;
}
return 0;
}
関連
-
スタイルシートとして解釈されるリソースが、MIMEタイプtext/htmlで転送される。
-
springboot project MIMEタイプ text/htmlで転送された静的ファイルを読み込む。
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
javaでクラスを作成すると、enclosing classでないように見える
-
IDEA パッケージステートメントの欠落
-
response.sendRedirectによる不具合とその対処法
-
dao インターフェースがメソッドを定義し、エラーを報告した。 xxx 型のメソッド xxx は未定義である。
-
javaで "Unhandled exception type ...... "を処理するには?
-
トークン "{" のシンタックス エラー、このトークンの後に { があるはずです。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
Spring Boot による HTTPS アクセスの設定
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
Spring BootのテストメソッドFailed to load ApplicationContextの問題を解決する
-
スレッド "main" で例外発生 java.net.BindException: アドレスは既に使用中です。NET_Bind
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
テストが見つかりませんでした
-
Ali cloud ubuntu16 システムで LAMP を構築し、tomcat、jdk をインストールし、最初の javaweb プロジェクトを tomcat にデプロイする 詳細手順
-
宣言されたパッケージ XX は、期待されるパッケージ src.main.java.XX と一致しません。