本文主要是介绍使用 For循环实现,一些相续正整数的立方和正好等于另一个整数的立方,java代码(代码可优化地方太多,请指教),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
此问题为当时我学习时的作业,所以仅仅将此实现,并没有进行代码优化
实现该题中使用过的Java的技能点有以下:
【1】For循环
【2】if(){}else{}语句
【3】方法体method
【4】数组Array
此题代码为:
package Compare;/*** @Auther:Lzz* @Date:2021/12/20 - 12 - 20 - 21:40* @Description:Text6* @version:1.0*/
public class LookingFor {public static void main(String[] args) {System.out.println("Tips:现在进行寻找一些连续的正整数的立法和正好等于另外一个整数的立方");int min= 1;int max =180;int i;int j;int num =0;//数值初始化int sum = 0;//数值初始化int k=0;//进行友好性的判断//int check=0;//进行sum值的接收int non =0;//进行数组arr2的元素按次序放入int[] arr1 = new int[max];//这里装单个整数的立方for(i = 1;i<=max;i++){//这里进行将整数的立方装进数组arr1[i-1]=i*i*i;}int []arr2 = new int[max];//这里进行对sum和数组arr1中存在相等的数进行储存//这里进行连续的整数和计算与判断for(i=min;i<max-1; i++){//这里进行最小值的增加for(j =i+1;j<=max;j++){//这里进行最大值的增加for(int m=i;m<=j; m++){num = m*m*m;sum +=num;}for(int n=0;n<max;n++){if(sum==arr1[n]){//if(arr2[0]==0){System.out.println("此处有"+i+"^3+...+"+j+"^3"+"=arr1["+n+"]="+arr1[n]+"="+(n+1)+"^3");arr2[0]=sum;k =1;//打开友好性回复开关non++;}else {if(compare(sum,arr2)){//将sum值传入compare方法体中进行判断数值是否重复System.out.println("此处有"+i+"^3+...+"+j+"^3"+"=arr1["+n+"]="+arr1[n]+"="+(n+1)+"^3");arr2[non]=sum;k =1;//打开友好性回复开关non++;}}}}sum =0;//重新重置为0}}if(k==0){//进行没有的友好性提示System.out.println("这里没有");}}public static boolean compare(int getnum,int []getarray){boolean key= false;//定义开关for (int i = 0; i < getarray.length; i++) {//循环对比arr2数组中是否有相同的数if(getarray[i]!=0){if(getnum!=getarray[i]){key =true;//将开关打开}else {key =false; break;}//在对比中遇到相同元素时赋值false,然后不必对比了用break}else {break;}//当遇到arr2数组元素为0时,此元素后面的元素也是0,是初始值,所以不必对比了}return key;//返回结果}
}
运行结果图为:
希望对你有所帮助!!!
这篇关于使用 For循环实现,一些相续正整数的立方和正好等于另一个整数的立方,java代码(代码可优化地方太多,请指教)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!