java 整数的划分与输出

关于java整数划分并求出划分的个数的问题,有代码,能输出整数的划分,但输出的划分个数不对。~

import java.util.Scanner;public class numberDiv { // private static final huafen numberrDiv = null; // static int d[]=new int[32]; public static void main(String[] args) { System.out.println("请输入的整数:"); Scanner sc = new Scanner(System.in); int number = sc.nextInt(); int num = numberDiv.Division(number, number, ""); System.out.println("num=" + num); } public static int Division(int m, int n, String str) { if ((m n) { int n1 = numberDiv.Division(m - n, n, str + n + "+"); int n2 = numberDiv.Division(m, n - 1, str); return n1 + n2; } return numberDiv.Division(m, m, str); }}Division方法返回分解的个数,所以numberDiv类不需要再定义成员变量static int num=0;。
Division方法中if ((m == 1) || (n == 1))成立时,本次是一个分解,并且不需要再递归分解,所以返回1。
Division方法中if (n == m)成立时,本次是一个分解,且需要递归分解,所以返回1+递归分解个数。
Division方法中if (m > n)成立时,返回两个递归分解的个数之和。
Division方法中最后代码即为m < n,直接返回递归分解的个数。

throws IOException 是抛出异常,new Bufferedreader时会产生IOException异常,用throws IOException可将这个异常抛给类QqApp的父类,它本身不会处理这个异常。更常用的方法是用try-catch自己处理异常。
从键盘输入整数是I/O流的内容,有很多种实现方法,除了标准输入流System.in外,常用的还有Scanner等

import java.util.*;//Scanner位于util包
public class HelloFriend
{
String name;
int age;
HelloFriend()
{
Scanner in = new Scanner(System.in);
//输入字符
System.out.println("What's your name?");
name = in.nextLine();
//输入整形数据
System.out.println("How old are U?");
age = in.nextInt();
}
void display()
{
System.out.println("Hello, "+name+". Next year U'll be "+(age+1));
}
}

public class InputTest
{
public static void main(String[] args)
{
HelloFriend aFriend = new HelloFriend();
aFriend.display();
}
}
看了这个你就明白了

import java.util.Scanner;

public class Mytest
{
public void p(int t1)
{
p2(t1, "");
}

private void p2(int t1, String t2)
{
if(t2.equals("")){
System.out.println(t1);
}
for (int i = 1; i <= t1 / 2; i++)
{
if (t2.length() > 0)
{
if (i<Integer.parseInt(t2.charAt(1)+"")) continue;
System.out.println((t1 - i) + "+" + i + t2);
p2((t1 - i), "+" + i + t2);
}
else
{
System.out.println((t1 - i) + "+" + i);
p2((t1 - i), "+" + i);
}
}
}

public static void main(String[] args)
{
Mytest x = new Mytest();
System.out.println("please input a number:");
Scanner s=new Scanner(System.in);
int t1 = s.nextInt();
x.p(t1);
}
}

无聊啊

相关兴趣推荐

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网