java面向对象初探--习题
2017-12-11 01:07
169 查看
@Test
public void test4(){
boolean flag=true;
while(flag){
System.out.println("请输入一个数:");
int x=new Scanner(System.in).nextInt();
String res=getx(x);
System.out.println(res);
System.out.println("是否继续?y/n");
String input=new Scanner(System.in).next();
if(input.equals("n")){
flag=false;
}
}
}
String getx(int x){
if(x>0){
return "zhengshu";
}else if(x<0){
return "fushu";
}else{
return "dengyuzero";
}
}
@Test
public void test5(){
boolean flag=true;
while(flag){
System.out.print("请输入年份:");
int year=new Scanner(System.in).nextInt();
String result=Year(year);
System.out.println(result);
System.out.println("go on?y/n");
String input=new Scanner(System.in).next();
if(input.equals("n")){
flag=false;
}
}
}
String Year(int year){
if((year%4==0&&year%100!=0)||(year%400==0)){
return "润年";
}else{
return "平年";
}
}
@Test
public void test6(){
int[] arr={};
int index=0;
boolean flag=true;
while(flag){
System.out.println("请输入数字组成整型数组");
int x=new Scanner(System.in).nextInt();
arr=Arrays.copyOf(arr, arr.length+1);
arr[index]=x;
index++;
System.out.println("是否继续?y/n");
String input=new Scanner(System.in).next();
if(input.equals("n")){
flag=false;
}
}
System.out.print("所得数组为:");
System.out.println(Arrays.toString(arr)); //用于测试
//arr=sortdesc(arr);
//System.out.println(Arrays.toString(arr));
int[] arr1 = sortdesc(arr); //调用
System.out.println("排序后:"+Arrays.toString(arr1)); //用于测试
int sum=getSum(arr);
System.out.println("和是:"+sum);
double average=getAvg(arr);
System.out.println("平均数为:"+average);
int Max=getMax(arr);
System.out.println("最大值是:"+Max);
}
/**
* 获取数组的最大值
* @param arr
* @return
*/
int getMax(int[] arr){
int max=arr[0];
for(int i=0;i<arr.length;i++){
if(max<arr[i]){
max=arr[i];
}
}
return max;
}
/**
* 求数组中元素的平均值
*
* @param arr
* @return
*/
double getAvg(int[] arr){
double avg=0.0;
int sum=getSum(arr);
avg=sum/arr.length;
return avg;
}
/**
* 求数组的和
* @param arr
* @return
*/
int getSum(int[] arr){
int sum=0;
for(int i=0;i<arr.length;i++){
sum=sum+arr[i];
}
return sum;
}
/**
* 数组倒序排序
* @param arr
* @return
*/
int[] sortdesc(int[] arr){
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]<arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
public void test4(){
boolean flag=true;
while(flag){
System.out.println("请输入一个数:");
int x=new Scanner(System.in).nextInt();
String res=getx(x);
System.out.println(res);
System.out.println("是否继续?y/n");
String input=new Scanner(System.in).next();
if(input.equals("n")){
flag=false;
}
}
}
String getx(int x){
if(x>0){
return "zhengshu";
}else if(x<0){
return "fushu";
}else{
return "dengyuzero";
}
}
@Test
public void test5(){
boolean flag=true;
while(flag){
System.out.print("请输入年份:");
int year=new Scanner(System.in).nextInt();
String result=Year(year);
System.out.println(result);
System.out.println("go on?y/n");
String input=new Scanner(System.in).next();
if(input.equals("n")){
flag=false;
}
}
}
String Year(int year){
if((year%4==0&&year%100!=0)||(year%400==0)){
return "润年";
}else{
return "平年";
}
}
@Test
public void test6(){
int[] arr={};
int index=0;
boolean flag=true;
while(flag){
System.out.println("请输入数字组成整型数组");
int x=new Scanner(System.in).nextInt();
arr=Arrays.copyOf(arr, arr.length+1);
arr[index]=x;
index++;
System.out.println("是否继续?y/n");
String input=new Scanner(System.in).next();
if(input.equals("n")){
flag=false;
}
}
System.out.print("所得数组为:");
System.out.println(Arrays.toString(arr)); //用于测试
//arr=sortdesc(arr);
//System.out.println(Arrays.toString(arr));
int[] arr1 = sortdesc(arr); //调用
System.out.println("排序后:"+Arrays.toString(arr1)); //用于测试
int sum=getSum(arr);
System.out.println("和是:"+sum);
double average=getAvg(arr);
System.out.println("平均数为:"+average);
int Max=getMax(arr);
System.out.println("最大值是:"+Max);
}
/**
* 获取数组的最大值
* @param arr
* @return
*/
int getMax(int[] arr){
int max=arr[0];
for(int i=0;i<arr.length;i++){
if(max<arr[i]){
max=arr[i];
}
}
return max;
}
/**
* 求数组中元素的平均值
*
* @param arr
* @return
*/
double getAvg(int[] arr){
double avg=0.0;
int sum=getSum(arr);
avg=sum/arr.length;
return avg;
}
/**
* 求数组的和
* @param arr
* @return
*/
int getSum(int[] arr){
int sum=0;
for(int i=0;i<arr.length;i++){
sum=sum+arr[i];
}
return sum;
}
/**
* 数组倒序排序
* @param arr
* @return
*/
int[] sortdesc(int[] arr){
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]<arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
相关文章推荐
- KingPaper初探Java之面向对象之String对象(四)
- 【Java学习笔记之十三】初探Java面向对象的过程及代码实现
- KingPaper初探Java之面向对象之封装性(二)
- JAVA面向对象易错习题详解
- java--面向对象之封装(习题)
- Java Nio初探及普通io性能比较
- java--面向对象(抽象&接口)
- Java基础学习笔记——面向对象(下)
- Java 2实用教程(第三版)实验指导与习题解答and实验模版代码及答案 (二)
- java基础(4)- 面向对象(1)
- Java之面向对象(一)
- JAVA设计模式初探之——适配器模式
- 黑马程序员_JAVA笔记07——面向对象3(继承、final、抽象类、接口)
- 黑马程序员——第六天(Java面向对象)
- 黑马程序员--Java基础--面向对象
- Java学习总结(三)——面向对象(上)(对单例模式有改进)
- java面向对象的三大特征
- 黑马程序员_java基础篇之面向对象(1)
- Java.3面向对象继承
- java 面向对象 之泛型 以及泛型的构造方法 设置多个泛型 通配符