package test01;
//进制转换
public class Demo4_ArrayApplication {
/*public static void main(String[] args)
{
int[] arr ={34,12,67};
String str = toString(arr);
System.err.println(str);
//需求1:定义功能将{34,12,67}数组中的元素转成字符串“{34,12,67}”
// 明确1 :结果 字符串
//明确2 :参数 数组
// 思路:简单的方式就是利用了字符串和任意数据相加都是相连接
}
public static String toString(int[] arr){
//定义字符串变量
String temp="[";
//遍历数组 将每一个数组的元素和字符串相连接
for(int x=0;x<arr.length;x++)
{
//判断,不是最后一个元素,后加逗号,是最后一个元素,后面不见逗号
if(x!=arr.length-1)
temp=temp +arr[x]+",";
else
temp=temp + arr[x]+"]";
}
return temp;
}*/
/*public static void main(String[] args)
{
int m=3;
String str=getWeek(m);
System.err.println(str);
}
//数组的核心思想
//容器特点:1,固定长度 2,元素都有索引
//数据多了,必须先进行存储在进行操作
//应用场景:数据多,个数确定,而且有对应关系
//需求分析
//1.有对应编号2.是否需要有序编号
//有就用数组
//例1. 对{34,89,12,78,45}进行操作,编号之后更容易操作
//例2. 根据用户输入的数据显示对应的星期
//思路:
//1.星期有多个,个数却定
//2.星期对应有序编号
//查表法:数据之间存在对应关系。通过一方查询另一方
//当对应关系存在但是一方是有序编号时,使用另一个容器 map。
public static String getWeek(int num)
{
if (num>7||num<1)
return num+"没有对应的星期";//return throw new RuntimeExceptionnum+"没有对应的星期";//抛出异常,直接结束程序
String[] weeks ={"","星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
// 0 1 2 3 4 5 6 7
return weeks[num];//数组都是从0开始的
}*/
//封装 用函数toHex函数
/*public static void main(String[] args){
int num = 60;
toHex(num);
}
public static void toHex(int num){
for(int x=0;x<8;x++){
int temp = num&15;
if(temp > 9)
System.out.println((char)(temp - 10 +'A'));
else
System.out.println(temp);
num=num>>>4;
}
}*/
//去除0,顺序转换
//解决:每运算一位,用容器存储
//顺序转换
/*public static void main(String[] args){
int num = 60;
//toHex(num);
String chs_hex = toHex(num);
System.out.println(chs_hex);
}*/
/*public static String toHex(int num){
//定义容器,存储字符,长度为8,一个整数最多8个16进制位
char [] chs =new char[8];
//定义一个基于操作数组的索引
//int index = 0 ;//正序索引
int index = chs.length-1;//倒叙索引
for(int x=0;x<8;x++){
int temp = num&15;
if(temp > 9)
chs[index] = ((char)(temp - 10 +'A'));
//System.out.println((char)(temp - 10 +'A'));
else
chs[index] = ((char)(temp+'0'));
//System.out.println(temp);
//角标自增
//index++;
index--;
num=num>>>4;
}
//遍历输出数组
// for(int x=0;x