int maxLean;
String s[];
int i = 0;

ChangeChar_V(int _maxLean, String _s[]) {
maxLean = _maxLean;
s[] = _s[]; }
//----------------------------------------------------

上記のプログラムで質問があります。
上記のプログラムではコンパイル時にエラーが出ます。
そのエラーとは、s[] = _s[];の文でインデックスがありません。とでます。
私のやりたいことは、文字列の配列を引数として収得したいのですが、
この場合、どのように文を書けばよいのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

配列sに引数の配列_sをまるごと代入するという


考えでよろしいのでしょうか?もしその方向でお考え
でしたら、
String[] s; 
及び、
(int _maxLean, String[] _s)
と記述し、
s = _s;
といったように配列まるごと代入という形になると
思います。
補足:あらかじめ配列を宣言しておいた場合、
   配列は動的に要素数を作成できないため、
   もし動的に配列を作りたいと思われたら
   やはりVectorクラスを使用する方がよいので
   しょうね。
    • good
    • 0
この回答へのお礼

助かりました。これで先へ進むことができます。こんどはVECTORで考えてみます。

お礼日時:2000/12/15 14:05

これはJavaでしょうか?JavaであればVectorなんかつかったらどうでしょう?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qverilog HDLの[=]と[<=]の使い分け

現在Verilog HDLを勉強しており、ひと通り勉強は終わりました。
しかしブロッキング代入[=]とノンブロッキング代入[<=]の使い分けをどこまで暗記すれば良いのか分かりません。
皆様は、[=]と[<=]の使い分け、あるいはネット型、レジスタ型への代入をする際の区別をどのように暗記していますか?「このポイントを理解すれば大丈夫!」みたいなことを教えていただけると助かります。

今思いつく例としては↓のとおりです
・assign文では[=]を使用しなければならない。
・assign文の左辺は[ネット型]のみ
・case文のHPによって[=]を使用しなければならない。
・ http://veri.jp/ba_nba.html のHPの最後のほうで『ほかにも「assign 文では NBA "<=" が使えません」という誤った注意書き』と書いてありますが、この記述の意味がわかりません。
・回路記述ではダメなのに、シミュレーション記述では問題がない等等、、、
他にもfunction文やalways文の中で式を書く時にも困っています。

Aベストアンサー

> http://veri.jp/ba_nba.html
こんな良い解説ページを見つけたのに、なぜ質問しているのかがよく分かりませんが・・・。

まずassign文は継続的代入であって、ブロッキング代入でもノンブロッキング代入でもないので、
ブロッキング代入とノンブロッキング代入の使い分けという議論の対象外です。

また、ブロッキング代入とノンブロッキング代入はレジスタ型に対して使う、
継続的代入はネット型に対して使う、
となるため、型でブロッキング代入とノンブロッキング代入の使い分けなんて言う議論は最初からできないです。(どちらもレジスタ型が相手だから)


解説ページにも書かれていますが、
ブロッキング代入とノンブロッキング代入の違いは、
"右辺の評価" と "左辺への代入" が同時に行われるか、別々に行われるかの違いです。

たとえば、
a = x;
b = a;
としたとき普通のプログラミング言語のように、bもxになって欲しいなら、ブロッキング代入を使いますし、
bにxが代入される前のaの値が入って欲しいなら、ノンブロッキング代入を使うことになります。


always文でFFを生成するときは、その時刻においては代入前の値を参照したい(実際の回路を考えると代入後の値を参照できるのは次のクロックがやってきたときだから)ので、
ノンブロッキング代入を普通は使いますね。
(ブロッキング代入だとレーシング=記述順序で結果が変わってしまうという問題があるというのもありますが。)

それ以外(組み合わせ論理を作るalways、function、シミュレーション記述)は、
特に理由がなければブロッキング代入を使っています(変数を直ちに更新して欲しい場合がほとんどだから)が、
前述のノンブロッキング代入の挙動を理解した上でノンブロッキング代入が必要だと思ったなら
使っていけないわけではないです。

> http://veri.jp/ba_nba.html
こんな良い解説ページを見つけたのに、なぜ質問しているのかがよく分かりませんが・・・。

まずassign文は継続的代入であって、ブロッキング代入でもノンブロッキング代入でもないので、
ブロッキング代入とノンブロッキング代入の使い分けという議論の対象外です。

また、ブロッキング代入とノンブロッキング代入はレジスタ型に対して使う、
継続的代入はネット型に対して使う、
となるため、型でブロッキング代入とノンブロッキング代入の使い分けなんて言う議論は最初からでき...続きを読む

QC#におけるstringとstring[]データの変換

お世話になります。C#をはじめて使っています。
いま行おうとしているのがコモンダイアログからファイル名を取得して、CSVファイルを読み出そうとしています。
OpenFileDialogから出力されるファイル名はstring[]と配列になり(すいません、C#でも”配列”といっていいのですよね?)
CSVを開くためのTextFieldParserの引数はstringになります。Cならポインタで変換できるのですが、C#はポインタがないため、いくつか試しましたが、うまく変換でききませんでした。
たとえば
string a;
string[] b:

 a=b;
a=(string)b;
a=convert.tostring b;
全部だめでした、どなたかご存知の方お見えになれば教えていただけると助かります。

Aベストアンサー

// OpenFileDialog 省略
a = objOpenFileDialog.FileNames;
foreach( string strBuff in a )
{
 // 処理
}

仰ってる処理からしても、配列から1個ずつ取り出せば済む話だと思いますが如何でしょうか。

Q[platex] description環境でのitemのオプション([]内)で]という文字を使うには?

\documentclass[12pt]{jreport}
\begin{document}

単位は[mm]のように鍵括弧でくくって書くことにします

\begin{description}
\item[5[cm]の時]{5[cm]の時と表示されるのが望んでいる動作。実際は先の括弧で終わったと解釈されてしまい、5[cmの時]となってしまう。
バックスラッシュを使おうとしても「Bad math environment delimiter.」というエラーが表示されてしまう。どうするのが正解か?}
\end{description}
\end{document}

Aベストアンサー

\item[5[cm]の時]

\item[5{[cm]}の時]
としてください。

QString[] の initialize

Processing 初心者です。

String[] stringAr;
stringAr = split("def.ghi", ".");
stringAr[0] = "jkl";

は正常に動きますが、2行目を取り除くと、

The local variable stringAr may not have been initialized

というエラーメッセージがでます。

簡単に initialize できる方法があるのでしょうか。

Aベストアンサー

new

参考URL:http://processing.org/reference/Array.html

Q[言語C#] string型における参照値の受け渡し

stringは、参照型に分類されると思います。・・・(1)

【string宣言部抜粋】
public sealed class String : IComparable, ICloneable......

また、参照変数の代入では、オブジェクトの参照値が受け渡されるという認識です。・・・(2)

上記(1)、(2)を踏まえると、次のプログラムの実行結果に納得がいきません。

string aiu = "aiu";
string aiue = aiu;
Console.WriteLine(aiue);
aiu = "abc";
Console.WriteLine(aiu);
Console.WriteLine(aiue);

出力結果----------
aiu
abc
aiu
------------------

(1)、(2)の考えを取り入れた場合、出力結果は
aiu
abc
abc
になるものだと思いましたが、なぜこのような結果になるのでしょうか
。自作クラスで似たような処理を行った場合では、一方の変更が同じインスタンスを代入した他方へも影響することは確認済みです。
ただ、stringの場合では・・・違うみたいです。

初歩的なことだと思いますが、宜しくお願い致します。

stringは、参照型に分類されると思います。・・・(1)

【string宣言部抜粋】
public sealed class String : IComparable, ICloneable......

また、参照変数の代入では、オブジェクトの参照値が受け渡されるという認識です。・・・(2)

上記(1)、(2)を踏まえると、次のプログラムの実行結果に納得がいきません。

string aiu = "aiu";
string aiue = aiu;
Console.WriteLine(aiue);
aiu = "abc";
Console.WriteLine(aiu);
Console.WriteLine(aiue);

出力結果----------
aiu
abc
aiu
--------...続きを読む

Aベストアンサー

C#のstringオブジェクトの内容は変更不可能です。
string型への代入では文字列を変更しているのではなく、
違う文字列が入った新しいstringオブジェクトが作成され
それを参照するようになっています。

以下のコードでは、
str1の参照先が変わってもstr2の参照先はそのままなので
str2の出力内容は変化しません。
-------------------------------------------------------
string str1 = "aiu";
string str2 = str1;

Console.WriteLine(str2);
//↓True: str1とstr2は同じオブジェクト
Console.WriteLine((object)str1 == (object)str2);

str1 = "abc"; //str1は新しいstringオブジェクトを指す
Console.WriteLine(str1);
Console.WriteLine(str2);
//↓False: str1とstr2は違うオブジェクト
Console.WriteLine((object)str1 == (object)str2);

C#のstringオブジェクトの内容は変更不可能です。
string型への代入では文字列を変更しているのではなく、
違う文字列が入った新しいstringオブジェクトが作成され
それを参照するようになっています。

以下のコードでは、
str1の参照先が変わってもstr2の参照先はそのままなので
str2の出力内容は変化しません。
-------------------------------------------------------
string str1 = "aiu";
string str2 = str1;

Console.WriteLine(str2);
//↓True: str1とstr2は同じオブジェクト
Console.Wr...続きを読む


人気Q&Aランキング

おすすめ情報