您的位置:首页 > 编程语言 > Java开发

java 实验二

2014-03-20 18:52 357 查看
实验二

题目一:  实现任意进制的某数转换为另一进制的功能 

 

内容: 内容简单了 就是数制运算嘛。

 

 

思路:思路就是 先把任意进制转换成十进制,然后再从十进制转换成任意进制呗。。

Soga!

注意的问题就是 java有许多封装好的东西 不知道的话 写起来麻烦死了 知道的话 写起来易如反掌啊 哇塞   我就是 写了半天 纠结在了 类型转换上 后来发现 如此简单啊的啦!

 

 

源代码:

 

package a;

 

import java.util.Scanner;

 

public class my3 {

public static String numtochar="0123456789ABCDEFGHIJK";//我擦 刚开始像c++一样 写了连个函数 

//写到最后才发现 string。index  和 string。charat两个神奇的东西 我勒个擦a

/*将任意进制整数转化为十进制整数,返回转化后的十进制整数,num为任意进制整数,binary为该整数的进制*/

static int anyBinaryToDecimal(String num,int binary)

{

int len=num.length();

int decimal_num=0;

int temp=0;

for(int i=0;i<len;i++)

{

temp*=binary;

temp+=numtochar.indexOf(num.charAt(i));

}

decimal_num=temp;

return decimal_num;

}

static String decimalToAnyBinary(int decimal,int binary)

{

String result="",r = "";//保存x进制数

int temp;

while(decimal>0)

{

temp=decimal % binary;

result+=numtochar.charAt(temp);

//System.out.println(result);

decimal=decimal/binary;

}

for(int i=0;i<result.length();i++)

r+=result.charAt(result.length()-i-1);

return r;

}

public static void main(String[] args) 

{

// TODO Auto-generated method stub

System.out.println("请输入原数及其进制以及您想转换的进制(eg: 100 10 2)");

Scanner scanner = new Scanner(System.in); // 读取输入

 String s=null;

 s=scanner.nextLine();

 String[] str=s.split(" ");

int tax_a=Integer.parseInt(str[1]);

int tax_b=Integer.parseInt(str[2]);

int value;String r;

value=anyBinaryToDecimal(str[0],tax_a);

r=decimalToAnyBinary(value,tax_b);

System.out.println("输出数据位:"+r);

}//注释不在多 看懂就行

}

 

 


题目2:在键盘输入学生各门课成绩,统计每个学生课程数及平均成绩

 

内容:就是统计一下 学生的成绩数量 算个数就行啦

 

思路: 就是用 动态数组 实现   不过也有很多方法的 我这里偷个懒 就这样吧 教授不要在意哦  但是一样可以实现当初的功能

 

 

源代码:

package a;

import java.util.Scanner;

public class my4 {

//第二题:在键盘输入学生各门课成绩,统计每个学生课程数及平均成绩

/**

 * @param args

 */

public static void main(String[] args) {

// TODO Auto-generated method stub

 Scanner scanner = new Scanner(System.in); // 读取输入

 System.out.println("请输入一个学生的各科成绩,用空格分开(34 56 78<回车>)");

 String s=null;

 s=scanner.nextLine();

 String[] str=s.split(" ");

//for(String i:str)

//System.out.println(Integer.parseInt(i));

int[] grade =new int[str.length];

int sum=0,len=grade.length;

for(int t=0;t<grade.length;t++){

grade[t]=Integer.parseInt(str[t]);

sum+=grade[t];

}

double average=1.0*sum/len;

System.out.println("学生的课程数为"+len+"平均成绩为"+average);

}

}

 


 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: