数塔问题//主要是要写 Java的输入文件和输出文件的
代码
package 算法作业;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;
public class 数字三角形问题 {
private static Scanner sc;
public static void main(String[]args) throws FileNotFoundException {
try {
sc = new Scanner(new FileInputStream("E:\\input.txt"));
while(sc.hasNext())
{
int n = sc.nextInt();
int [][]num = new int [n][n];
for(int i = 0 ; i < n ; i ++)
{
for(int j = 0 ; j <= i; j++)
num[i][j] = sc.nextInt();
}
for(int i = n - 2; i >= 0; i --) {
for(int j = 0; j <= i; j++) {
num[i][j] = num[i][j] + Math.max(num[i+1][j],num[i + 1][j + 1]);
}
}
PrintStream ps = new PrintStream("E:\\output.txt");
System.setOut(ps);//把创建的打印输出流赋给系统。即系统下次向 ps输出
System.out.println(num[0][0]);
}
}catch(FileNotFoundException e) {
e.printStackTrace();
}
}
}
以下转载来自https://www.jb51.net/article/144002.htm
1、将输出结果输出到txt文件
步骤一:
头文件
import java.io.FileOutputStream;
import java.io.PrintStream;
可能还会提醒抛出错误,于是import java.io.FileNotFoundException;
步骤二:
PrintStream ps = new PrintStream("e:/log.txt");
// 创建一个打印输出流,输出的目标是:E盘的log.txt文件
步骤三:
System.setOut(ps);//把创建的打印输出流赋给系统。即系统下次向 ps输出
System.out.println("这行语句将会被写到log.txt文件中");
2、将输出结果重新输出到屏幕
步骤一
步骤二
步骤三:
PrintStream out = System.out; // 先把系统默认的打印输出流缓存
System.out.println("这行语句重新定位到标准输出——屏幕");