コードコピーは次のとおりです。
/*
* 0°から360°の正弦曲線を描きます
* 2つの状況があります:y> 0とy <= 0を描く
*いずれの場合も、1行あたり2つの「*」文字を印刷することを検討する必要があります
* 2番目の「*」文字を印刷した後、ラインを包みます
*/
数百のパッケージ;
java.lang.mathをインポートします。
パブリッククラスSintest {
public static void main(string [] args){
// yは列方向、1から-1の値、ステップサイズは0.1です
for(double y = 1; y> = -1; y- = 0.1){
// yに対応するラジアンを計算し、図10に図の倍率に掛けます
int m = - (int)(math.asin(y)*10);
if(y> 0){
for(int x = 1; x <1-m; x ++){
System.out.print( "");
}
System.out.print( "*");
// 31は10*πの整数部分であり、印刷された曲線はより滑らかです
for(int x = 1; x <31+2*m; x ++){
System.out.print( "");
}
System.out.println( "*");
}
if(y <= 0){
for(int x = 1; x <32+m; x ++){
System.out.print( "");
}
System.out.print( "*");
// 31は10*πの整数部分であり、印刷された曲線はより滑らかです
for(int x = 1; x <31-2*m; x ++){
System.out.print( "");
}
System.out.println( "*");
}
}
}
}