-6
私は割り当てがありますか?11234aBcDという文字列があり、出力は1a1B2c3D4でなければなりません。私が行った2番目の出力。そして私はjavaを使ってやる必要があります。必要条件は、出力に1つの数字の後ろに1つの数字とそれに続く数字などが表示されます。
私は私のコード追加してい:私を助けていないため
package Testx;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Test3optmz {
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner gaba = new Scanner(System.in);
String variable;
System.out.print("Enter String:");
variable = gaba.nextLine();
SeparateGaba(variable);
}
public static void SeparateGaba(String str)
{
String Catch_num = "";
String Catch_let = "";
String upper="";
String lower="";
String holdl="";
String holdn="";
for (int i = 0; i < str.length(); i++)
{
char a = str.charAt(i);
if (Character.isDigit(a))
{
Catch_num = Catch_num + a;
} else
{
Catch_let = Catch_let + a;
}
}
System.out.println("FIRST OUTPUT:"+Catch_num+Catch_let);// i am separating the numbers and alphabets
for(int j=0;j <Catch_let.length();j++)
{
char x = Catch_let.charAt(j);
if (Character.isUpperCase(x))
{
upper += x;
}
else
{
lower += x;
}
}
char[] num = Catch_num.toCharArray();
Arrays.sort(num);
String n =new String(num);
char[] ordr = lower.toCharArray();
Arrays.sort(ordr);
String alfa1 =new String(ordr);
char[] ord = upper.toCharArray();
Arrays.sort(ord);
String alfa =new String(ord);
String t= alfa1 + alfa;
char [] fin = t.toCharArray();
Arrays.sort(fin);
String fal = new String(fin);
Character[] chars = new Character[fal.length()];
for (int f=0; f < fal.length();f++)
chars[f] = fal.charAt(f);
Arrays.sort(chars, new Comparator<Character>()
{
public int compare(Character c1, Character c2)
{
int cmp = Character.compare(
Character.toLowerCase(c1.charValue()),
Character.toLowerCase(c2.charValue())
);
if (cmp != 0) return cmp;
return Character.compare(c1.charValue(), c2.charValue());
}
});
StringBuilder sb = new StringBuilder(chars.length);
for (char c : chars) sb.append(c);
fal = sb.toString();
System.out.println("SECOND OUTPUT= "+n+fal);// now i am arranging the alphabet in ascending order avoiding capital and small ex 1234eBaC it will come as 1234aBce
}
}
これは、コードの書き込みサービスではありません助けました。これまでに試したことを含めてください。 – Arc676
私は作業しているコードがあります –
あなたのコードは非常に複雑に見えます。あなたが何をする必要があるか考えてみましょう:文字列の次の数字を見つけ出し、それを出力に追加します。文字列の次の非数字を見つけ出し、それを出力に追加します。あなたが入力文字列を使い果たすまで繰り返されます。 OK –