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();
}
}
看了这个你就明白了
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);
}
}
无聊啊