-------android培训、java培训、期待与您交流! ----------
黑马程序员训练营基础测试题及个人代码(包含思路、步骤和基本注释)
1、 编写程序计算12+22+32+....+1002的和.
package com.itheima;
/*
* 第一题:编写程序计算1到100的平方和。
*
* 思路:
* ①计算方法,可以采用两数相乘再进行累加,也可以采用自带的Math函数处理后进行累加,还可以利用数学公式计算。
* ②实现方法:可以使用for循环方法、do while循环方法、while循环方法、递归方法和公式直接定义方法。
* 步骤:
* ①定义实现不同方法的静态函数,主函数可以调用。
* ②在函数中实现计算方法。
*/
public class Test1 {
//-------------------------------------------------------------------------------------
//主函数用来调用不同方法的函数。
public static void main(String[] args) {
int sum1=formethod(1,100);
int sum2=dowhilemethod(1, 100);
int sum3=whilemethod(1, 100);
int sum4=recursivemethod(1, 100);
int sum5=formulamethod(1, 100);
//调用5个具有不同方法的函数,将结果存入对应的5个变量中
System.out.println("for循环方法的计算结果是:"+sum1+"\ndowhile循环方法的计算结果是:"+sum2+"\nwhile循环方法的计算结果是:"+sum3+"\n递归循环方法的计算结果是:"+sum4+"\n公式直接定义方法的计算结果是:"+sum5);
//输出结果
}
//-------------------------------------------------------------------------------------
//利用for循环来实现数a到数b的平方和。
public static int formethod(int a,int b){
int sum=0;//定义一个存放结果的sum变量
for(int c=a;c<=b; c++){
sum=sum+c*c;//将存在sum中的值和数c的平方相加得到新值,存入sum中。
}//for语句中定义变量c=a完成变量的初始化,c<=b规定平方和计算的循环条件,c++用来运行一遍循环后修改控制循环的变量值。
return sum;//返回sum的值。
}
//-------------------------------------------------------------------------------------
//利用do while循环来实现数a到数b的平方和。
public static int dowhilemethod(int a,int b){
int sum=0;//定义一个存放结果的sum变量
do{
sum=sum+a*a;
a++;
}//将存在sum中的值和数c的平方相加得到新值,存入sum中,a++用来运行一遍循环后修改控制循环的变量值。
while(a<=b);//当while语句中的“a<=b”条件不被满足时,自动停止循环
return sum;//返回sum的值。
}
//-------------------------------------------------------------------------------------
//利用while循环来实现数a到数b的平方和。
public static int whilemethod(int a,int b){
int sum=0;//定义一个存放结果的sum变量
while(a<=b){
sum=sum+a*a;
a++;
}//将存在sum中的值和数c的平方相加得到新值,存入sum中,a++用来运行一遍循环后修改控制循环的变量值。当while语句中的“a<=b”条件不被满足时,自动停止循环
return sum;//返回sum的值。
}
//-------------------------------------------------------------------------------------
//利用递归方法来实现数a到数b的平方和。
public static int recursivemethod(int a,int b){
if(a==b){
return (int)Math.pow(a, 2);//如果第一个值与最后一个值相同,利用math类中的幂计算函数计算后直接返回此值的平方。
}
return b*b+recursivemethod(a, b-1);//利用递归方法,调用自身计算出结果。
}
//-------------------------------------------------------------------------------------
//直接定义公式来实现数a到数b的平方和。
public static int formulamethod(int a,int b){
int sum=0;//定义一个存放结果的sum变量
int c=a-1;//若a不等于1,计算a与1的差
sum=b*(b+1)*(2*b+1)/6-c*(c+1)*(2*c+1)/6;//定义平方和公式
return sum;//返回sum的值。
}
//-------------------------------------------------------------------------------------
}
2、 定义一个二维int数组,编写代码获取最小元素。
package com.itheima;
/*
* 第二题:定义一个二维int数组,编写代码获取最小元素。
*
* 思路:
* 要求获取二维数组中的最小元素,可以定义一个二维数组运用for循环进行比较,直到找到最小的元