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;
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(); }}}
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)
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"); }}}
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);}
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项为:");
System.out.println("斐波那契数列的前20项为:");
for (int j = 1; j <= 20; j++) {
System.out.print(getFibo(j) + "\t");
if (j % 5 == 0)
System.out.println();}}}
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();
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));
}
}
}
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小时内删除。
发表评论