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);
}//注释不在多 看懂就行
}
![](http://img.blog.csdn.net/20140326114440359?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWlydW96aGFveWFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
题目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);
}
}
![](http://img.blog.csdn.net/20140326114451687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWlydW96aGFveWFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
题目一: 实现任意进制的某数转换为另一进制的功能
内容: 内容简单了 就是数制运算嘛。
思路:思路就是 先把任意进制转换成十进制,然后再从十进制转换成任意进制呗。。
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);
}
}
相关文章推荐
- java实验报告 第一个
- Java中有关变量初始化先后顺序的思考和实验(二)
- java第三次实验
- 20145106 java实验二
- 作业2-浅谈数组求和java实验
- 20145309java第三次实验报告
- 20155227 《Java程序设计》实验五 Java网络编程及安全实验报告
- Java第二次实验要求
- Java中BufferedInputStream和FileInputStream的小实验
- 哈工大java实验 文件分割与合并
- Java第6次实验提纲(异常)
- 20145334 第五次 java 实验报告
- 《java第十周实验报告1-1》---点、线类的继承练习
- Java实验(15)扑克牌
- 算数测试(Java实验)
- JAVA实验(2)
- java实验二 类和对象
- Java实验五报告——TCP传输及加解密
- Java 实验:面向对象程序设计
- 做个实验彻底搞明白Java中的值传递和引用传递