16进制字符串转16进制数组第一题是 斐波那契数列,第二题是字符串中统计数字个数并输出。第三题:16进制数转换成8进制 要求输入输出是字符串。第四题:给定一组数 前后分成两半 各有序,要求排序输出。第五题是 迷宫问题 最短的路径。
1、斐波那契数列:
方法一:public class Fibonacci1{
 //定义三个变量方法
 public static void main(String[] args) {
  int a=1, b=1, c=0;
  System.out.println("斐波那契数列前20项为:");
  System.out.print(a + "\t" + b + "\t");
  for (int i = 1; i <= 18; i++) {
   c = a + b;
   a = b;
   b = c;
   System.out.print(c + "\t");
   if ((i + 2) % 5 == 0) 
    System.out.println();  }}}
 
方法二:public class Fibonacci2{
 //定义数组方法
 public static void main(String[] args) {
  int arr[] = new int[20];
  arr[0] = arr[1] = 1;
  for (int i = 2; i < arr.length; i++) {
   arr[i] = arr[i - 1] + arr[i - 2]; }
  System.out.println("斐波那契数列的前20项如下所示:");
  for (int i = 0; i < arr.length; i++) {
   if (i % 5 == 0)
   System.out.println();   
   System.out.print(arr[i]+"\t"); }}}
 
方法三:public class Fibonacci3 {
 //使用递归方法
 private static int getFibo(int i) {
  if (i == 1 || i == 2)
  return 1;
  else
  return getFibo(i - 1) + getFibo(i - 2);}
 
 public static void main(String[] args) {
  System.out.println("斐波那契数列的前20项为:");
  for (int j = 1; j <= 20; j++) {
   System.out.print(getFibo(j) + "\t");
   if (j % 5 == 0) 
    System.out.println();}}}
2
package wzs.arithmetics;
/**
* 分别统计出其中字符串中汉字,英文字母,数字,其他字符数量
* @author wWX154783
*
*/
public class Test_wzs7
{
    public static void main(String[] args)
    {
        String str = "a12中国3@b&4*3c";
        String E1 = "[\u4e00-\u9fa5]";// 中文
        String E2 = "[a-zA-Z]";// 英文
        String E3 = "[0-9]";// 数字
        int chineseCount = 0;
        int englishCount = 0;
        int numberCount = 0;
        String temp;
        for (int i = 0; i < str.length(); i++)
        {
            temp = String.valueOf(str.charAt(i));
            if (temp.matches(E1))
            {
                chineseCount++;
            }
            if (temp.matches(E2))
            {
                englishCount++;
            }
            if (temp.matches(E3))
            {
                numberCount++;
            }
        }
        System.out.println("汉字数:" + chineseCount);
        System.out.println("英文数:" + englishCount);
        System.out.println("数字数:" + numberCount);
        System.out.println("特殊字符:" + (str.length() - (chineseCount + englishCount + numberCount)));
    }
}
3第三题:16进制数转换成8进制 要求输入输出是字符串。
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int Int();
        String[] s = new String[n];
        for(int i=0;i<n;i++){
        s[i]=sc.next();
        }
        for(int j=0;j<n;j++){
            long x=Integer.parseInt(s[j], 16);
            System.out.println(x);
            System.out.OctalString(x));
        }

    }
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。