anonymous No title
Java

//今回扱うのに必要なクラスをインポート
import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.FileWriter;

 


public class Simulator {
    public static void main(String[] args){
    
        String a=("WriteFile.txt");    //読み込むファイルを宣言
        String b=("出力ファイル");    //出力先のファイルを宣言

 

        int result = th(a,b);    //返ってきた戻り値をresultに代入
        switch(result){        //戻り値の値によって示唆される情報をswitch分で作成
            
        case 0:
            System.out.println("正常");
            break;
        case -1:
            System.out.println("ファイルが存在しません");
            break;
        case -2:
            System.out.println("年齢がただしくありません");
            break;
        case -3:
            System.out.println("性別が不明です");
            break;
            }
    }
    
    public static int th(String a,String b){
         try{

 

           //ファイルの読み込み
            File file = new File(a);

 

        //ファイルが存在しないときの処理
                if(!file.exists()){
                  //System.out.println("error:no file");
                  return -1;//ファイルがない時の戻り値を返す
                    }

 

        //BufferedReaderクラスをインスタンス化
            BufferedReader br = new BufferedReader(new FileReader(file));
        
                   
            

 

        String[] box;      //番号、名前、性別、年齢の配列
        String str="";    //1行の文字列の変数宣言
        String gender;  //性別の変数宣言    
        int sum1=0;     //男女の合計値の初期化
        int sum2=0;     //男女の合計年齢値の初期化
        int sum3=0;    //男の合計年齢の初期化
        int sum4=0;    //女の合計年齢の初期化
        int ave1=0;     //平均年齢の初期化
        int ave2=0;     //男の平均年齢の初期化
        int ave3=0;     //女の平均年齢の初期化
        int man=0;     //男の人数 の初期化
        int woman=0; //女の人数の初期化
        String str2=""; //ファイル全員分の情報の初期化

 


                     //readlineメソッド使って1行単位で読み込む
                     while((str = br.readLine()) !=null){
                         System.out.println(str); //strには1行分しか情報はないがwhile分の中なので1行の情報をを繰り返して出力する
                   str2=str2+str+"\n"; //全員分の行を代入、¥nは改行文字
                         System.out.println("----------------------------");//見やすくするために-----で区切る

 

            
             box = str.split(",",0);          //1行を配列に返す
                         int age = Integer.parseInt(box[2]);//String型の年齢をint型に変換
             if(age<0){
            return -2;          //年齢に負数が含まれる時の戻り値を返す
                         }                                          
                         sum2 = sum2 + age;//年齢の合計を計算
                         
             gender = box[3];    //今回は必要ないので記述していないがbox[0]には番号、box[1]には名前、box[3]には性別、box[4]には年齢が入っている

 

                         //男女別に人数計算
                         if(gender.equals("男性")){
                          man++;    sum3=sum3+age;        //性別が男性の時に人数を1増やして性別の合計値も計算
                         }else if(gender.equals("女性")){
                          woman++;    sum4=sum4+age;        //性別が女性の時に人数を1増やして性別の合計値も計算            
                         }else{return -3;}    //性別が男性でも女性でもない時の戻り値を返す
            
                  
                      }

 

                
            sum1 = man + woman; //男女の合計値を計算
            ave1 = sum2/sum1; //全体の平均年齢を計算
            ave2 = sum3/man;  //男性の平均年齢を計算
            ave3 = sum4/woman;//女性の平均年齢を計算
            System.out.println("男女合計:" + sum1+"人" + " 平均年齢:" + ave1+"歳");
            System.out.println("男性:" + man+"人" + " 男性の平均年齢:" + ave2+"歳");
            System.out.println("女性:" + woman+"人" + " 女性の平均年齢:" + ave3+"歳");

 

                

 

        //出力ファイル作成、BufferedWriterクラスをインスタンス化
            
                BufferedWriter bw = new BufferedWriter(new FileWriter(b));    //書き込み先のフェイル指定

 

            bw.write(str2);    //ファイル全員分の行をき出しているが今回は特に必須の処理ではない
            bw.newLine();    //改行して見やすくする        
            bw.write("男女合計:" + String.valueOf(sum1)+"人" + " 平均年齢:" +String.valueOf(ave1)+"歳");        //男女合計と平均年齢を書き込む
            bw.newLine();    //改行して見やすくする
            bw.write("男性:" + String.valueOf(man)+"人" + " 男性の平均年齢:" + String.valueOf(ave2)+"歳");    //男性数と男性の平均年齢を書き込む
            bw.newLine();    //改行して見やすくする
            bw.write("女性:" + String.valueOf(woman)+"人" + " 女性の平均年齢:" + String.valueOf(ave3)+"歳");    //女性数と女性の平均年齢を書き込む
            bw.newLine();    //改行して見やすくする 

 

            //BufferedReader BufferedWriterを閉じる
            br.close();
            bw.close();
             }catch(IOException e) {        //例外処理
                System.out.println(e);
                }

 

                return 0;    //ここまでに問題がなければ正常な戻り値を返す
     }   
    
}
anonymous No title
Java
System.out.println("Hello world!");
anonymous No title
Java
public class Score{
    private int score = 0;

    Score(int score){
        this.score = score;
    }

    Score(){
    }

    public void setScore(int score) {
        if (score >= 0 && score <= 100){
            this.score = score;
        }
    }
    public int getScore(){
        return score;
    }
    public void showResult(String person){
        System.out.println(person+"さんの点数:"+score);
    }

}
Yogurt FM Synth_Akira _002
Java
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Dimension;

import java.lang.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.sound.sampled.*;

public class SynthAkira extends JFrame {

  public static void main(String[] args){

		SynthAkira akira = new SynthAkira("Synth Akira");
		akira.setVisible(true);
  }

  SynthAkira(String title){
    setTitle(title);
    setBounds(100, 100, 600, 600);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Container contentPane = getContentPane();
    contentPane.add(new SynthSlider(), BorderLayout.PAGE_START);
    contentPane.add(new DrawCurve(), BorderLayout.CENTER);
	}
}

class SynthSlider extends JPanel implements ChangeListener {

  JSlider slider1;
  JSlider slider2;
  JPanel p1;
  JPanel p2;
  JPanel p3;
  	JPanel p4;
  	JButton b1;
  JButton b2;
  JLabel label1;
  JLabel label2;
  
  	static byte[] wave_data = new byte[44100];
  
	SynthSlider() {
		
		slider1 = new JSlider(0, 1000);
    slider1.setValue(100);
    slider1.addChangeListener(this);
    slider2 = new JSlider(0, 1000);
    slider2.setValue(100);
    slider2.addChangeListener(this);

    p1 = new JPanel();
    p1.add(slider1);
    p1.add(slider2);

    b1 = new JButton("DOWN");
    b2 = new JButton("UP");
    
    p2 = new JPanel();
    p2.add(b1);
    p2.add(b2);
    
    label1 = new JLabel();
    label2 = new JLabel();
    label1.setText("値:" + slider1.getValue());
    label2.setText("値:" + slider2.getValue());

    p3 = new JPanel();
    p3.add(label1);
    p3.add(label2);

    p4 = new JPanel();
// 		p4.setPreferredSize(new Dimension(600, 400));
    p4.setLayout(new BorderLayout());
    p4.add(p1, BorderLayout.PAGE_START);
    p4.add(p2, BorderLayout.CENTER);
    p4.add(p3, BorderLayout.PAGE_END);

		add(p4);

    b1.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
      			setSound(1);
		  }
		});
    b2.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
      			setSound(2);
		  }
		});
	}

   void setSound(int j){
      try{
          double l1 = j*slider1.getValue()/44100.0;
         double l2 = j*slider2.getValue()/44100.0;
         for(int i=0;i<wave_data.length;i++){
            wave_data[i]= (byte)(110*(wave_data.length-(i+1))/wave_data.length*Math.sin((i*l1)*Math.PI*2)
            *Math.sin((i*l2)*Math.PI*2));
            			}
         AudioFormat   frmt= new AudioFormat(44100,8,1,true,false);
         DataLine.Info info= new DataLine.Info(Clip.class,frmt);
         Clip          clip= (Clip)AudioSystem.getLine(info);
         clip.open(frmt,wave_data,0,wave_data.length);
         clip.start();
	         }
      catch(Exception e){e.printStackTrace(System.err);}
      }

	public void stateChanged(ChangeEvent e) {
    label1.setText("値:" + slider1.getValue());
    label2.setText("値:" + slider2.getValue());
	}
}

class DrawCurve extends JPanel { 

	JButton b1;
	Paint paint;
	JPanel p1;

	DrawCurve() { 

		p1 = new JPanel();
      b1 = new JButton ("PUSH");
     b1.setPreferredSize(new Dimension(100, 30));
      paint = new Paint();
     paint.setPreferredSize(new Dimension(600, 200));
     	p1.setPreferredSize(new Dimension(600, 300));
		p1.add(b1);
		p1.add(paint);
		add(p1);

     b1.addActionListener(new ActionListener() {
	      @Override
	      public void actionPerformed(ActionEvent e) {
		 		paint.repaint();
			}
		}); 
	 } 
}

class Paint extends JPanel {
	
	byte[] wave_data = SynthSlider.wave_data;
	
	public Paint() {
		super();
	}
	
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		g.setColor(Color.RED);
		for(int i = 0; i < (wave_data.length/200-1); i++) {
    			g.drawLine(i*2,128-wave_data[i*200],(i+1)*2,128-wave_data[(i+1)*200]);
 		}
	}
} 
Yogurt FM SynthAkira001
Java
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.*;
import javax.swing.event.*;
import javax.sound.sampled.*;

public class SynthAkira extends JFrame implements ChangeListener{

  JSlider slider1;
  JSlider slider2;
  JPanel p1;
  JPanel p2;
  JButton b;
  JLabel label1;
  JLabel label2;

  public static void main(String[] args){
    SynthAkira frame = new SynthAkira();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(10, 10, 600, 200);
    frame.setTitle("SYNTH AKIRA");
    frame.setVisible(true);
  }

  SynthAkira(){

    slider1 = new JSlider(0, 1000);
    slider1.setValue(100);
    slider1.addChangeListener(this);
    slider2 = new JSlider(0, 1000);
    slider2.setValue(100);
    slider2.addChangeListener(this);

    p1 = new JPanel();
    p1.add(slider1);
    p1.add(slider2);

    b = new JButton("PUSH");

    label1 = new JLabel();
    label2 = new JLabel();
    label1.setText("値:" + slider1.getValue());
    label2.setText("値:" + slider2.getValue());

    p2 = new JPanel();
    p2.add(label1);
    p2.add(label2);

    getContentPane().add(p1, BorderLayout.PAGE_START);
    getContentPane().add(b, BorderLayout.CENTER);
    getContentPane().add(p2, BorderLayout.PAGE_END);
    
    b.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
      			setSound();
		  }
		});
	}

   void setSound(){
      try{
         byte[] wave_data= new byte[44100*2];
         double l1      = 44100.0/slider1.getValue();
         double l2      = 44100.0/slider2.getValue();
         for(int i=0;i<wave_data.length;i++){
            wave_data[i]= (byte)(110*Math.sin((i/l1)*Math.PI*2
            +110*Math.sin((i/l2)*Math.PI*2)));
            }
         AudioFormat   frmt= new AudioFormat(44100,8,1,true,false);
         DataLine.Info info= new DataLine.Info(Clip.class,frmt);
         Clip          clip= (Clip)AudioSystem.getLine(info);
         clip.open(frmt,wave_data,0,wave_data.length);
         clip.start();

         Thread.sleep(100);while(clip.isRunning()) {Thread.sleep(100);}
         }
      catch(Exception e){e.printStackTrace(System.err);}
      }

	public void stateChanged(ChangeEvent e) {
    label1.setText("値:" + slider1.getValue());
    label2.setText("値:" + slider2.getValue());
 }
}
anonymous No title
Java
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.*;
import javax.swing.event.*;
import javax.sound.sampled.*;

public class SynthAkira extends JFrame implements ChangeListener{

  JSlider slider1;
  JSlider slider2;
  JPanel p1;
  JPanel p2;
  JButton b;
  JLabel label1;
  JLabel label2;

  public static void main(String[] args){
    SynthAkira frame = new SynthAkira();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(10, 10, 600, 200);
    frame.setTitle("SYNTH AKIRA");
    frame.setVisible(true);
  }

  SynthAkira(){

    slider1 = new JSlider(0, 1000);
    slider1.setValue(100);
    slider1.addChangeListener(this);
    slider2 = new JSlider(0, 1000);
    slider2.setValue(100);
    slider2.addChangeListener(this);

    p1 = new JPanel();
    p1.add(slider1);
    p1.add(slider2);

    b = new JButton("PUSH");

    label1 = new JLabel();
    label2 = new JLabel();
    label1.setText("値:" + slider1.getValue());
    label2.setText("値:" + slider2.getValue());

    p2 = new JPanel();
    p2.add(label1);
    p2.add(label2);

    getContentPane().add(p1, BorderLayout.PAGE_START);
    getContentPane().add(b, BorderLayout.CENTER);
    getContentPane().add(p2, BorderLayout.PAGE_END);
    
    b.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
      			setSound();
		  }
		});
	}

   void setSound(){
      try{
         byte[] wave_data= new byte[44100*2];
         double l1      = 44100.0/slider1.getValue();
         double l2      = 44100.0/slider2.getValue();
         for(int i=0;i<wave_data.length;i++){
            wave_data[i]= (byte)(110*Math.sin((i/l1)*Math.PI*2
            +110*Math.sin((i/l2)*Math.PI*2)));
            }
         AudioFormat   frmt= new AudioFormat(44100,8,1,true,false);
         DataLine.Info info= new DataLine.Info(Clip.class,frmt);
         Clip          clip= (Clip)AudioSystem.getLine(info);
         clip.open(frmt,wave_data,0,wave_data.length);
         clip.start();

         Thread.sleep(100);while(clip.isRunning()) {Thread.sleep(100);}
         }
      catch(Exception e){e.printStackTrace(System.err);}
      }

	public void stateChanged(ChangeEvent e) {
    label1.setText("値:" + slider1.getValue());
    label2.setText("値:" + slider2.getValue());
 }
}
anonymous No title
Java
private double[][] estimatePose(List<Mat> corners){
        float marker_length = (float) 0.05;//0.05
        double camera_matrix[] = {344.173397, 0.000000, 630.793795,
                0.000000, 344.277922, 487.033834,
                0.000000, 0.000000, 1.000000};
        double distortion_coefficients[] = {-0.152963, 0.017530, -0.001107,
                -0.000210, 0.000000};
        Mat camera_matrix_mat = new Mat(3,3,CV_64F);
        Mat distortion_coefficients_mat = new Mat(1,5,CV_64F);
        camera_matrix_mat.put(0,0,camera_matrix[0]);
        camera_matrix_mat.put(0,1,camera_matrix[1]);
        camera_matrix_mat.put(0,2,camera_matrix[2]);
        camera_matrix_mat.put(1,0,camera_matrix[3]);
        camera_matrix_mat.put(1,1,camera_matrix[4]);
        camera_matrix_mat.put(1,2,camera_matrix[5]);
        camera_matrix_mat.put(2,0,camera_matrix[6]);
        camera_matrix_mat.put(2,1,camera_matrix[7]);
        camera_matrix_mat.put(2,2,camera_matrix[8]);
        distortion_coefficients_mat.put(0,0,distortion_coefficients[0]);
        distortion_coefficients_mat.put(0,1,distortion_coefficients[1]);
        distortion_coefficients_mat.put(0,2,distortion_coefficients[2]);
        distortion_coefficients_mat.put(0,3,distortion_coefficients[3]);
        distortion_coefficients_mat.put(0,4,distortion_coefficients[4]);
        Mat rvecs = new Mat();
        Mat tvecs = new Mat();
        Aruco.estimatePoseSingleMarkers(corners,marker_length,camera_matrix_mat,distortion_coefficients_mat,rvecs,tvecs);
        Log.d("MY_STRING", "rvecs[0,0] =" + Arrays.toString(rvecs.get(0, 0)));
        Log.d("MY_STRING", "tvecs[0,0] = "+ Arrays.toString(tvecs.get(0, 0)));
        double[][] ans = new double[2][];
        ans[0] = rvecs.get(0,0);
        ans[1] = tvecs.get(0,0);
        return ans;
    }
    private boolean readARmarker(Bitmap bitmap, boolean needSend) {
        int width = bitmap.getWidth();
        int height = bitmap.getHeight();
        bitmap = Bitmap.createScaledBitmap(bitmap,(int)(width*0.3),(int)(height*0.3),true);
        Mat inputImage = new Mat();
        bitmapToMat(bitmap,inputImage,false);
        Dictionary dictionary = Aruco.getPredefinedDictionary(Aruco.DICT_5X5_250);
        List<Mat> corners = new ArrayList<>();
        Mat markerIds = new Mat();
        DetectorParameters parameters = DetectorParameters.create();
        Imgproc.cvtColor(inputImage, inputImage, Imgproc.COLOR_BGR2GRAY);
        Aruco.detectMarkers(inputImage, dictionary, corners, markerIds, parameters);
        String markerIDfromArr = Arrays.toString(markerIds.get(0, 0));
        if (markerIDfromArr.equals("null")) {
            return false;
        } else {
            String markerID = String.valueOf((int)(markerIds.get(0, 0)[0]));
            double[][] vecs = estimatePose(corners);
            //vecs[][]はrvecとtvecが入った二次元配列です。以下にそれぞれの要素を示します。
            Log.d("MY_STRING", "rvec_1 = " +vecs[0][0]);
            Log.d("MY_STRING", "rvec_2 = " +vecs[0][1]);
            Log.d("MY_STRING", "rvec_3 = " +vecs[0][2]);
            Log.d("MY_STRING", "tvec_1 = " +vecs[1][0]);
            Log.d("MY_STRING", "tvec_2 = " +vecs[1][1]);
            Log.d("MY_STRING", "tvec_3 = " +vecs[1][2]);

            if(needSend){
                api.judgeSendDiscoveredAR(markerID);
            }
            return true;
        }
    }
anonymous No title
Java
package sep3.model.cycle;

import sep3.Model;
import sep3.model.CPU;
import sep3.model.operation.InstructionSet;

public class ReadFromOpe2 extends State {
	@Override
	public State clockstep(Model model) {
		//System.out.println("%% IF0 %%");
		// ステータスカウンタの設定。次の2行は、すべての状態において、最初に必ず記述すること
		CPU cpu = model.getCPU();
		cpu.getRegister(CPU.REG_SC).setInitValue(StateFactory.SC_FF2);

		//MDRからAバスへ送る
		cpu.getABusSelector().selectFrom(CPU.REG_MDR);
		//ALUはAバスの値をそのままSバスへ流す
		cpu.getALU().operate(InstructionSet.OP_THRA);
		//Sバスの値をB0へ送る
		cpu.getSBusSelector().selectTo(CPU.REG_B0);


		// 次の状態へ
		return cpu.getStateFactory().getState(StateFactory.SC_HLT);
	}

}
anonymous No title
Java
package sep3.model.cycle;


import sep3.Model;
import sep3.model.CPU;
import sep3.model.Memory;

public class ReadFromOpe1 extends State {
	@Override
	public State clockstep(Model model) {
		//System.out.println("%% IF1 %%");
		// ステータスカウンタの設定。次の2行は、すべての状態において、最初に必ず記述すること
		CPU cpu = model.getCPU();
		cpu.getRegister(CPU.REG_SC).setInitValue(StateFactory.SC_FF1);

		// MARに格納されている番地から命令を読み出してISRへ送る

		// MAR をアドレスバスに流す
		model.getAddrBusSelector().selectFrom(CPU.REG_MAR);
		// メモリを読み出してデータバスへ出力
		model.getMemory().access(Memory.MEM_RD);
		// データバスの値をMDRへ送る
		model.getDataBusSelector().selectTo(CPU.REG_MDR);

		// 次の状態へ
		//return cpu.getStateFactory().getState(StateFactory.SC_HLT);
		return cpu.getStateFactory().getState(StateFactory.SC_FF2);
	}
}
anonymous No title
Java
package sep3.model.cycle;

import sep3.Model;
import sep3.model.CPU;
import sep3.model.operation.InstructionSet;

public class ReadFromOpe0 extends State {
	@Override
	public State clockstep(Model model) {
		//System.out.println("%% IF0 %%");
		// ステータスカウンタの設定。次の2行は、すべての状態において、最初に必ず記述すること
		CPU cpu = model.getCPU();
		cpu.getRegister(CPU.REG_SC).setInitValue(StateFactory.SC_FF0);


		// Fromオペランドで指定されたレジスタの値(R6とする)を MARへ送る

		//指定されたレジスタからAバスに流す
		cpu.getABusSelector().selectFrom(CPU.REG_R6);
		//ALUをそのまま貫通してSバスに流す
        cpu.getALU().operate(InstructionSet.OP_THRA);
		//SバスからMARに送る
        cpu.getSBusSelector().selectTo(CPU.REG_MAR);


		// 次の状態へ
		return cpu.getStateFactory().getState(StateFactory.SC_FF1);
	}

}
Don't you submit code?
Submit