public class test2
{
public static void main(String[] args)
{
Random random = new Random()
int a[] = new int[4]
for(int i=0i<4i++)
{
a[i] = random.nextInt(13)+1
}
for(int j=0j<4j++)
{
System.out.println("第" + j +"个数:" + a[j])
}
Calcula(a)
}
public static void Calcula(int[] a)
{
int add, sub, multi, div
add = 0
sub = 0
multi = 0
div = 0
for(int i=0i<4i++)
{
add = add + a[i]
sub = sub - a[i]
multi = multi * a[i]
div = div/a[i]
}
if(add==24)
{
System.out.println(a[0] + "+" + a[1] + "+" + a[2] + "+" + a[3]
+ "=" + add)
}
else if(sub==24)
{
System.out.println(a[0] + "-" + a[1] + "-" + a[2] + "-" + a[3]
+ "="谨埋乎 + sub)
}
else if(multi==24)
{
System.out.println(a[0] + "*" + a[1] + "*" + a[2] + "*"祥悉 + a[3]
+ "=" + multi)
}
else if(div==24)
{
System.out.println(a[0] + "÷" + a[1] + "÷" + a[2] + "÷" + a[3]
+ "=" + div)
}
else
{
System.out.println("对不起,液弯没有实现24点的数")
}
}
}
已编译通过~
import java.util.Scannerpublic class FindNums {/**
* @param args
【程序24】
题目纯告:给一个不多于5位的肆启正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in)
int num=sc.nextInt()
System.out.println("请输入要处理的数字:"+num)
int sum=findNums(num)
System.out.println("这做雹明个数字是:"+sum+"位数字组成的。")
reservePrint(num)
}
public static int findNums(int num)
{
int sum=0
if(num>0&&num<10)
sum=1
if(num>=10&&num<100)
sum=2
if(num>=100&&num<1000)
sum=3
if(num>=1000&&num<10000)
sum=4
if(num>=10000&&num<100000) //还有5你没写。
sum=5
return sum
}
public static void reservePrint(int num)
{
int [] arr=new int[5] //这个地方不能用{},不然就表示空数组,
for(int i=0i<5i++)
{
arr[i]=num%10
num/=10
}
for(int i=0i<5i++)//这里应从0开始,上面的循环先得到的是个位,
{
System.out.print(" "+arr[i])
}
}
}
我找到了3个地方的错误,注释里标出来了,上面的程序测试通过了,希望帮到你了~~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)