迭代算法java代码 迭代算法程序

java 编程:用迭代法实现阶乘(Factorial):n!=n*(n不知道lz在factory(int i)方法里面定义一个x=0是到底要闹哪样 。明明是要根据传来的参数进行迭代判断 。改了一下,希望对你有用(下次添加代码的时候要注意整洁,不然会干扰回答的~) 。
import java.util.Scanner;
public class factorial_2 {
public static void main(String[] args) {
System.out.print("请输入一个整数:");
Scanner n1 = new Scanner(System.in);
int n = n1.nextInt();
System.out.println();
System.out.print(n + "的阶乘为:");
int sum = factorial(n);
System.out.print(sum);
}
private static int factorial(int i) {
//int x = 0;
if ( i == 1) {
return 1;
} else {
int temp;
temp = (int) i * factorial(i - 1);
return temp;
}
}
}
提醒楼主注意的是要注意int范围的问题 。因为最后接收结果的是一个int sum类型的值,所以它可以解决的阶乘数也是有范围的 。有必要的话可以改成Integer.
Java 实现迭代功能的程序1、迭代主要是对一些集合类如List、map等进行迭代
2、获取集合类对象 , 如List
dataList
3、获取dataList的迭代器
4、利用while循环迭代
示例:
List
dataList
=
new
ArrayList
dataList.add("北京");
dataList.add("天津");
//获取dataList的迭代器
Iterator
it
=
dataList.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
java用迭代的算法实现阶乘int num=1;
Scanner sc=new Scanner(system.in);
system.out.print("输入一个正整数");
int n=sc.nextInt();
String str=num+"*";
for( int i=2;i=n;i++){
str=str+i+"*";
if(i==n){
str=str+i;
}
num=num*i;//num*=i;这一步有两种实现,但是后面的运行速度比前面的要快!
}
system.out.println(str+"="+num);
效果是,你输入5:显示1*2*3*4*5=120
java计算两个非负数之商的迭代程序代码你好,下面我给出算法思想及其实现:
public class Divide {
/*
* 首先我们要理解计算机是怎么做除法的,计算机只能进行加法和加法运算
* 所以我们用减法去模拟除法运算
* 这里为了简单,只演示整数的相除运算
* 浮点数预算同理,就是控制精度问题
*/
/*
* param a 被除数
* param b 除数
* 返回值 商
*/
public static int divide(int a, int b){
if(a0 || b0){
throw new ArithmeticException("参数必须为非负整数") ;
}
if(b == 0){
throw new ArithmeticException("除数不能为0") ;
}
a -= b ;
if(a = b){ //这里就是控制精度,整数的比较简单
return divide(a,b) ; //递归调用
}
return a;
}
public static void main(String[] args) {
System.out.print("13 / 5 = " + divide(13,2) );
}
}
【迭代算法java代码 迭代算法程序】关于迭代算法java代码和迭代算法程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读