これは、次の学期に予定されている学校での追加単位の割り当てのためのものです。段落を画面に出力する必要がありますが、コードの文字数は段落の文字数よりも少なくする必要があります。段落は次のとおりです。
「私の名前が記載されているすべてのプログラムは、私 (および共著者がいる場合は共著者) によって作成され、そのプログラムを完全に理解していることを誓います。私が提出するすべてのプログラムは、特に明記されていない限り、完全に私自身の作品です。私は理解しています。その学術的不正行為には、他の人の作品をコピーするだけでなく、コピーを助長または助長することも含まれます.過去または現在の他の提出物と同様のコードは、説明が何であれ、クレジットを取得しません.私は、学術的不正の結果は「クラスの F'. 私は自分のプログラムを書くことによって Java を学ぶことに全力を尽くすことを約束します. 私は細部に気を配り、私自身と他のプログラマーが理解できるプログラムを書くように努力します.
プログラムの総文字数は、誓約の総文字数よりも少なくする必要があります (655 印刷可能、合計 793)。
プログラムは入力を一切受け付けません...ファイル、ダウンロードなどはありません。
私が最初に考えたのは、誰もそれを行うことができなかったので、これまでの授業で学んだことの範囲外に違いないということでした. 少なくする必要があるため、課題の最初の部分 (通常のクレジット) で全員が行うように、段落を 1 行ずつ印刷することは明らかにできません。
java.util.zip を使用して文字列圧縮を調査しましたが、入力が許可されていないという問題が発生し続けています。今のところ棚上げしたアイデアは次のとおりです。文字列を圧縮形式でコーディングし、コードを圧縮されていないバージョンの段落よりも文字数を少なくし、コンソールに出力するときに文字列を単純に圧縮解除する方法はありますか?
私はASCII値にも手を出しましたが、ASCII値は文字のみを表し、すべてのASCII値は、それらが表すために使用される文字よりも長い文字長を持っているため、その使用法はわかりませんでした.
私が今のところ決めた考えは、最も長く繰り返される単語を取り出し、それらに文字列変数名を割り当てることです。次に、段落内の単語を変数連結スタイルに置き換えるだけです。これまでの私のコードは次のとおりです。
import static java.lang.System.out;
public class Pledge {
public static void main(String[] args){
String s=" understand ",p=" program",z=" academic dishonesty ",c=" copying",i="I pledge ";
out.println(i+"that every"+p+" with my name on it shall be written by me (and my co-authors, if any) and that i fully"+s+"the"+p+". Every"+p+" I submit shall be entirely my own work unless otherwise attributed. I"+s+"that"+z+"not only includes"+c+" other people's work, but also abetting or facilitating"+c+". Code that is similar to any other submission past");
out.println("or present will get no credit whatever the explanation. I"+s+"that the consequence of"+z+"is a grade of 'F' for the class."+i+"to devote my efforts to learning Java by writing my own"+p+"s. I shall strive to be attentive to detail and write"+p+"s "+s+"able by myself and other"+p+"mers.");
}
}
付属のコードは、印刷可能な 762 文字です。私は 112 文字離れており、コードはすでに 2 つの巨大な println ステートメントで見栄えが悪いため、正しい軌道に乗っていないように感じます。私のためにコードが書かれるとは思っていません (私はそれが嫌いです) が、私を正しい方向に導くためのいくつかのヒントやヒントをいただければ幸いです。ありがとう!