我有一个类似这样的代码:
int f = 120;
for(int ff = 1; ff <= f; ff++){
while (f % ff != 0){
}
我的查找因子的循环有什么问题吗?我对于for和while语句的工作原理感到非常困惑,所以它们很可能是完全错误的。
在此之后,我该如何将变量分配给这些因子?
我有一个类似这样的代码:
int f = 120;
for(int ff = 1; ff <= f; ff++){
while (f % ff != 0){
}
我的查找因子的循环有什么问题吗?我对于for和while语句的工作原理感到非常困惑,所以它们很可能是完全错误的。
在此之后,我该如何将变量分配给这些因子?
import java.util.Scanner;
public class Factors
{
Scanner scn=new Scanner(System.in);
int num=scn.nextInt();
public void findFactor()
{
System.out.println("Factors are");
System.out.println("1");
for(int i=2;i<=num;i++)
{
if(num%i==0)
{
num=num/i;
System.out.println(i);
i=2;
}
}
}
public static void main(String[] args)
{
while(1==1)
{
System.out.println("Enter a Number");
Factors fct=new Factors();
fct.findFactor();
}
}
}
public class Factor {
public static void main(String[] args) {
int x = 48;
int x1 = x;
int y = 2;
int k = x / y;
int j = 0;
for (int i = 1; i < k; i++) {
if ((x % y) == 0 && x > 0)
j++;
x = x / 2;
}
System.out.println(+x1 + " is a factor of " + y + " for " + j
+ " times.");
}
}
ArrayList<Integer> arr = new ArrayList<>();
int x=48;
int y=1;
while(x!=1)
{
if(x%y==0)
{
x=x/y;
arr.add(y);
if(y==1)
{
y++;
}
}
else
{
y+=1;
}
}
System.out.println(arr);
使用递归函数的最简单方法
public static int factorial(int n){
if(n!=1)
return n*factorial(n-1);
return 1;
}
while
循环来检查一个数字是否可以被f
整除(这是一个单一条件检查,所以听起来像是if
吗?)。至于保留因子,您了解Java集合吗? - wkl