質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

Q&A

1回答

1257閲覧

Java array で困っています

DaiseiIto

総合スコア6

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

1グッド

0クリップ

投稿2017/12/13 08:30

編集2017/12/13 14:25

イメージ説明
以下の課題をやっているのですが、array を作る段階でつまづいてしまい困っています。

java

1コード

import java.util.Scanner; // Needed for Scanner class

/**
This program demonstrates how the user may specify an
array's size.
*/

public class ExamA
{
public static void main(String[] args)
{
double numStudents; // The number of tests
double[] tests; // Array of test scores

// Create a Scanner object for keyboard input. Scanner keyboard = new Scanner(System.in); // Get the number of test scores. System.out.print("How many tests do you have? "); numStudents = keyboard.nextDouble(); // Create an array to hold that number of scores. tests = new double[numStudents]; String[] names = new String[numStudents]; // Get the individual test scores. for (int index = 0; index < tests.length; index++) { System.out.print("Enter test score " + (index + 1) + ": "); tests[index] = keyboard.nextDouble(); } for (int index = 0; index < names.length; index++) { System.out.print("Enter student name " + (index + 1) + ":"); names[index] = keyboard.nextLine(); } // Display the test scores. System.out.println(); System.out.println("Here are the scores you entered:"); for (int index = 0; index < tests.length; index++) System.out.print(tests[index] + " ");

}
}

A-pZ👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

umyu

2017/12/13 13:56

質問文のソースコードはインデントを訂正してcodeタグで囲ってくださいな。
LouiS0616

2017/12/13 14:48 編集

あと、画像がとんでもなく見づらいです。必要に応じて抜粋してテキストで書いてください。画像のまま貼るにしても、トリミングしたり、明暗を調整したり、向きを揃えたりするなどの配慮をしてください。
guest

回答1

0

double numStudents;

//中略
numStudents = keyboard.nextDouble();
tests = new double[numStudents];
String[] names = new String[numStudents];

質問文のtests = new double[numStudents];の行で配列作成式により配列を作成していますが、
Java言語の配列作成式はint型またはIntegerクラスの0から始まる正の整数値しか許容しません。

よって、

double numStudents;→行を削除

numStudents = keyboard.nextDouble();


int numStudents = Integer.parseInt(keyboard.nextLine());

他にも色々ソースコード上の問題がありますが、IDEのeclipseを入れてデバック実行して確認してみるのがいいと思います。

□参考情報
Scanner#nextLine
15.10.1. Array Creation Expressions

投稿2017/12/13 16:24

編集2017/12/14 07:37
umyu

総合スコア5846

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問