Classe 4ª F – Verifica scritta di Informatica del 11/12/2013

Classe 4ª F – Verifica scritta di Informatica del 11/12/2013 – Correzione
package suono;
import
import
import
import
lejos.nxt.SensorPort;
lejos.nxt.SensorPortListener;
lejos.nxt.SoundSensor;
lejos.util.Delay;
public class Suono {
private
private
private
private
final int SOGLIA = 100;
SoundSensor ss;
int nSopraSoglia;
int secondi;
public class SoundSensorPortListener implements SensorPortListener {
@Override
public void stateChanged(SensorPort aSource, int aOldValue,
int aNewValue) {
int valore = ss.readValue();
if (valore > SOGLIA) {
nSopraSoglia++;
}
Delay.msDelay(10000);
secondi += 10;
}
}
public Suono() {
ss = new SoundSensor(SensorPort.S1);
nSopraSoglia = 0;
secondi = 0;
SensorPort.S1.addSensorPortListener(new SoundSensorPortListener());
while (secondi <= 600) ;
System.out.println("L'intensità sonora ha superato " + SOGLIA
+ " decibel per " + nSopraSoglia + " volte in 10 minuti");
}
public static void main(String[] args) {
new Suono();
}
}
package pianeti;
import
import
import
import
import
java.awt.EventQueue;
java.awt.event.ActionEvent;
java.awt.event.ActionListener;
java.io.BufferedReader;
java.io.FileReader;
import
import
import
import
import
import
import
javax.swing.JButton;
javax.swing.JFrame;
javax.swing.JLabel;
javax.swing.JOptionPane;
javax.swing.JPanel;
javax.swing.JTextField;
javax.swing.SpringLayout;
public class Pianeti extends JFrame {
private
private
private
private
private
JPanel contentPane;
JTextField txtNome;
JTextField txtMassa;
JTextField txtDistanza;
JTextField txtPeriodo;
/**
* Launch the application.
*/
public static void main(String[] args) { … }
/**
* Create the frame.
*/
public Pianeti() { … }
public void btnCercaActionPerformed() {
String nomePianeta = txtNome.getText();
try {
BufferedReader br = new BufferedReader(new FileReader("Pianeti.csv"));
String dato;
while (true) {
dato = br.readLine();
if (dato == null)
break;
String[] d = dato.split(";");
if (d[0].equalsIgnoreCase(nomePianeta)) {
txtNome.setText(d[0]);
txtMassa.setText(d[1]);
txtDistanza.setText(d[2]);
txtPeriodo.setText(d[3]);
break;
}
}
if (dato == null) {
JOptionPane.showMessageDialog(contentPane, "Pianeta "
+ nomePianeta + " non trovato", "Errore",
JOptionPane.ERROR_MESSAGE);
txtNome.setText("");
txtMassa.setText("");
txtDistanza.setText("");
txtPeriodo.setText("");
}
br.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(contentPane, e.toString(), "Errore",
JOptionPane.ERROR_MESSAGE);
}
}
}