e には、2 桁または 4 桁の年を受け入れることができる日付形式があります。私は例外をコーディングしようとしているわけではありません...年が2桁または4桁の長さの場合だけです。「/」の最後のインスタンスを見つけるために lastIndexOf を使用しています。スラッシュの後の 3 番目の文字が数字の場合、4 桁の年を想定しています。それ以外の場合は、2 桁の年です。
これが現在問題を引き起こしている唯一の行であることをすでにテストして検証しました。
if (inputLine.lastIndexOf.isNumeric("/"))+3 {
year = inputLine.trim().substring(inputLine.lastIndexOf("/")+1,input.lastIndexOf("/")+4).trim);
else year = "0000";
コンパイル エラーが発生し続けます。インデックス値に追加している行については、bad operand for the binary operator
. さらに、変数 lastIndexOf が見つかりません。
io
以下のリストをプログラムの先頭で呼び出しています。Java ドキュメントからわかる限りlang
、適切なメソッドとクラスを取得しています。
import java.util.*;
import java.io.*;
import java.nio.file.*;
import java.lang.*;
ステートメントについてはif
、私の括弧は釣り合っていますが、追加の文字 (たとえば、インデックス値 + 3) の追加がネストされた括弧の正しいレベル内で行われているかどうかはわかりません。そうは言っても、これらの整数を上から追加しようとしましたが、ほとんど役に立ちませんでした。
if (inputLine.lastIndexOf.isNumeric("/"))+3 {
year = inputLine.trim().substring(inputLine.lastIndexOf("/")+1,input.lastIndexOf("/")+4).trim);
else year = "00/00/0000";
私はいくつかのことを考えています: まず、これを 1 つのステートメントで行うことができますか、それとも 1 つのステートメントでインデックスを定義してから、後続のステートメントで index+offset-value を定義する方がよいでしょうか?
単一のフィールドで動作する複数のメソッドとクラスを使用している場合 (たとえば、.trim().substring.Indexof()
Java がそれらを解析する順序は? これらのステートメントがどのように解析されるかを理解したいので、理解を深めたいと思います)変数を操作し、出力をテストするための最良の方法。