import java.util.Scanner;
public class testing
{
public static void main(String[] args)
{
Scanner stdIn = new Scanner(System.in);
System.out.println("Please enter a string of any length: ");
String convertMe = stdIn.next();
System.out.printf("%s%15s%15s%10s%n","Initial","ASCII<char>","ASCII<int>",
"Hex";
for(int x=0; x<convertMe.length(); x++)
{
int ascii = (int)convertMe.charAt(x);
System.out.printf("%c %30d %13x%n", convertMe.charAt(x),ascii,ascii);
}
System.out.printf("%n");
System.out.println("Thank you for playing!");
}
}
現在、コードは1つの列にすべてのASCII値を出力しています。私はcharが文字か数字かに基づいてその列を2つに分割しようとしています。私はisDigitで遊んでいますが、まだ動作させることができませんでした。それは文字列なので、私のforループで、修正後のインクリメントをチェックする必要があります。もしintカラムのfalse出力がおそらく最もうまくいくなら、charカラムに出力してください。コーディングする。同じ文字列内に文字と数字を別々に出力してASCII値を出力するにはどうすればいいですか?
編集1:私はプログラムLOLを記述するのを忘れていました。プログラムは文字列の入力を取得し、その文字列をchar、ascii値、および16進数として出力します。 charがcharの列とintの下にある文字の下にある文字の場合空白は、スペースとしてASCIIとHEXとしても読み取る必要があります。
編集2:arraylistsで遊んでいてうまくいきましたが、私はここで同じ文章で印刷しなければならないので、文字列charsを表示しないために実行可能なオプションではないと思いますどこにいますか?
public class JMUnit3Ch12
{
public static void main(String[] args)
{
Scanner stdIn = new Scanner(System.in);
System.out.println("Please enter a string of any length: ");
String convertMe = stdIn.nextLine();
System.out.printf("%s%15s%15s%10s%n","Initial","ASCII<char>", "ASCII<int>", "Hex");
ArrayList<Integer>numbers = new ArrayList<>();
ArrayList<Integer>letters = new ArrayList<>();
for(int x=0; x<convertMe.length(); x++)
{
int ascii = (int)convertMe.charAt(x);
if(ascii<=57 && ascii>=48)
{
numbers.add(ascii);
}
else
{
letters.add(ascii);
}
//System.out.printf("%c %30d %13x%n", convertMe.charAt(x),ascii,ascii);
}
for(int y :numbers)
{
System.out.printf("%c %30d %13x %n",y,y,y);
}
for(int z: letters)
{
System.out.printf("%c %15d %28x %n",z,z,z);
}
//System.out.println(numbers);
System.out.printf("%n");
System.out.println("Thank you for playing!");
}
}
私はisDigitで遊んでてきたが、取得することができていません*それはまだ働いています*:あなたが試したものを投稿し、あなたが何をやろうとしているのか、それが何をするのかを教えてください。 –