有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在java中为给定的输入文件生成输出文件

我在编码平台上提交代码时遇到了麻烦

问题陈述

一位当地音乐家正在举办一场音乐会,为慈善事业筹款。音乐会将在市政厅举行,这是一个非常适合举办此类活动的宽敞场地

  • r排座位,每个座位正好包含s个座位
  • 最多一个人可以坐在一个座位上(也就是说,两个人不能共用一个座位)

有一个问题——音乐会可能已经超额预定了!这意味着,如果所有买票的人都来听音乐会,其中一些人可能不得不站着

现在,这位音乐家向你寻求的不是建议,而是以下问题的答案:

if everybody who bought tickets arrives and tries to find a seat, how many people will end up sitting, and how many people will be standing?

这是我的节目:

  package Prerequisite;
  import java.io.FileInputStream;
  import java.io.FileOutputStream;
  import java.io.PrintStream;
  import java.util.Scanner;

  public class Solution {
  static private  final String INPUT ="sitin.txt";   
  static private  final String OUTPUT ="sitout.txt";   
  public static void main(String[] args) {
    FileInputStream instream = null;  
    PrintStream outstream = null;  
      try  {  
          instream =  new  FileInputStream (INPUT);  
          outstream =  new  PrintStream ( new  FileOutputStream (OUTPUT));  
          System.setIn (instream);  
          System.setOut (outstream);  
      }  catch  (Exception e) {  
          System.err.println ( "Error Occurred." );  
      }
     Scanner sc=new Scanner(System.in);
     int r=sc.nextInt();
    int s=sc.nextInt();
    int ticket=sc.nextInt();
    if((r*s)>=ticket)
   {
   System.out.println(ticket+" "+0);
    }
  else
  {
    System.out.println(r*s+" "+(ticket-r*s));
  }
   }
     }

输入 7 12 一百

输出 84 16


共 (1) 个答案

  1. # 1 楼答案

    当我16岁时,我开始用伪代码编程:structograms,这是一种逻辑流的可视化。这可能有助于解决除法分解问题;征服

    但首先,开始定义你的给定输入&预期输出——称之为您的用户界面(此处:基于文件)

    要求:输入/输出接口

    假设给定输入

    您将看到一个文件,其中一行包含3条记录,由空格分隔:

    7 12 100
    

    以上3条记录代表数字,它们被读入变量如下:

    • 在音乐厅
    • 大厅每排12 seats
    • 这场音乐会总共售出100台

    预期产量

    程序应将其输出写入文件。因此,该文件包含一行2条记录,即以空格分隔的数字(类似于给定的输入格式)。首先是占用的^{的总计数。第二,剩余的不能入座的访客人数。 例如:

    84 16
    

    分解为伪代码

    我不能在这里画结构图。对于您的任务amd语言(Java),我建议您从几个注释开始。只需像电影情节一样,用不同的场景(输入、处理、输出)写下应该发生的事情。像这样:

    // (1) read parameters (3 variables) from input (file):
       // open given input-file (sitin.txt)
       // read first line from file
       // close file
       String content = Files.readString(path, StandardCharsets.US_ASCII);
       // split the read line by delimiter space into 3 strings (e.g. array)
       // convert the 3 strings into number variables (e.g. rows, seats, tickets
    
    //  (2) calculate maximum seats (capacity) and ticket-category distribution (seated VS standing):
      // do the math ..
      // return the results (e.g. an object with two fields/variables: totalSeated, totalStanding)
    
    // (3) write results to output:
       // open given output-file (sitout.txt)
       // write 3 variables delimited by space to the file
       // close file
    

    你现在已经把问题分成了三个部分。每个问题都可以单独解决。因此,您可以将程序构造为3种方法

    为什么要分解

    这可能是你解决任何问题的关键。众所周知,它通过以下模式/原则得到广泛应用:关注点分离单一责任原则或简单的划分&;征服

    它有很多好处:独立开发和独立测试。 在这种情况下:你可以在stackoverflow上问3个独立的问题😉

    对于(1)我已经找到了一个answer: File-Reading,我已经在上面的评论之间插入了

    你试过用哪种方法编写代码? 你在哪里需要我们的帮助:1、2或3