前提・実現したいこと
ここに質問の内容を詳しく書いてください。
線グラフを作っています
発生している問題・エラーメッセージ
identfirlがありません
1エラーメッセージ 2```LineGraph.java:26: エラー: <identifier>がありません 3a = aa; 4 ^ 5LineGraph.java:27: エラー: <identifier>がありません 6b = bb; 7 ^ 8LineGraph.java:28: エラー: <identifier>がありません 9c = cc; 10 ^ 11LineGraph.java:29: エラー: <identifier>がありません 12d = dd; 13 ^ 14LineGraph.java:30: エラー: <identifier>がありません 15e = ee; 16 ^ 17LineGraph.java:31: エラー: <identifier>がありません 18f = ff; 19 ^ 20LineGraph.java:33: エラー: <identifier>がありません 21a = aa / 5; 22 ^ 23LineGraph.java:34: エラー: <identifier>がありません 24b = bb / 5; 25 ^ 26LineGraph.java:35: エラー: <identifier>がありません 27c = cc / 5; 28 ^ 29LineGraph.java:36: エラー: <identifier>がありません 30d = dd / 5; 31 ^ 32LineGraph.java:37: エラー: <identifier>がありません 33e = ee / 5; 34 ^ 35LineGraph.java:38: エラー: <identifier>がありません 36f = ff / 5; 37 ^ 38 39### 該当のソースコード 40 41```java 42import java.awt.Color; 43import java.awt.Graphics; 44import javax.swing.JLabel; 45import javax.swing.JFrame; 46import java.awt.Dimension; 47import java.awt.BorderLayout; 48 49import javax.swing.JPanel; 50public class LineGraph extends JFrame { 51 52 53int a = new java.util.Scanner(System.in).nextInt(); 54int b = new java.util.Scanner(System.in).nextInt(); 55int c = new java.util.Scanner(System.in).nextInt(); 56int d = new java.util.Scanner(System.in).nextInt(); 57int e = new java.util.Scanner(System.in).nextInt(); 58int f = new java.util.Scanner(System.in).nextInt(); 59 60int aa; 61int bb; 62int cc; 63int dd; 64int ee; 65int ff; 66 67a = aa; 68b = bb; 69c = cc; 70d = dd; 71e = ee; 72f = ff; 73 74a = aa / 5; 75b = bb / 5; 76c = cc / 5; 77d = dd / 5; 78e = ee / 5; 79f = ff / 5; 80 int data[] = {a, b, c, d, e, f}; 81 82 public void paint(Graphics g) 83 { 84 super.paint(g); 85 g.drawLine( 50, 250, 250, 250); 86 for (int i=0; i<7; i++) { 87 String s = String.format("%3d", i * 1); 88 g.drawString(s, i * 20 + 40, 270); 89 } 90 91 g.drawLine( 50, 40, 50, 250); 92 for (int i=0; i<51; i++) { 93 String s = String.format("%3d", i * 10); 94 g.drawString(s, 28, 250 - i * 20); 95 } 96 97 for (int i=0; i<7; i++) { 98 int x1 = i * 20 + 50; 99 int x2 = (i + 1) * 20 + 50; 100 int y1 = 250 - data[i] * 2; 101 int y2 = 250 - data[i+1] * 2; 102 g.drawLine( x1, y1, x2, y2); 103 } 104 } 105 106 LineGraph() { 107 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 108 setTitle("LineGraph"); 109 setSize(300, 300); 110 setVisible(true); 111 } 112 113 public static void main(String args[]){ 114 new LineGraph(); 115 } 116} 117
試したこと
staticやpublicがないと出るらしいですがちゃんとあります
補足情報(FW/ツールのバージョンなど)
jdk
2021/09/21 17:41質問時点のタイトルにある「identfurl」、同質問文内にある「identfirl」でGoogle検索をかけてみましたが、ヒントになりそうな検索結果が出てきません。
「identifier」の誤りではないですか?
また、エラーメッセージは全文を記載してほしいです。
そもそもコードがムチャクチャです。フィールドの宣言や処理がごっちゃになっています。いきなりぜんぶ書いてエラーに混乱するのではなく、少しずつ書き進めましょう。
LineGraph()が関数宣言になってません。
この Scanner の書き方を最近よく見かけるように思うのですが、どこかでこのように教えられているのでしょうか。
悪影響が大きいように思います。
関数宣言するにはどうすればよいですか?
dodox86さんへ
dodox86じゃなくてmike2mike4さんでした
Java Silverとったの昔なんで知識がおぼろげですが、関数宣言だけで無くいろいろ直すところがあるかと。LineGraphクラスの中にmainが宣言されているのもどうかと。dodox86さんの言うとおり少しずつ試行錯誤しながら書きましょう
う~ん
本に書いてあるもののところどころ買えただけなんだけどなぁ
私が勘違いしている可能性もあるので、まずはHallo Worldから始めましょう。その方が実力が付きます。
ありがとうございました!
どうすればエラーは消えるのですか?