Moi!
Mun pitäisi tehdän NetBeansillä oheiselle ohjelmalle lomake ja yhteydet tietokantaan. Olen aloittanut lomakkeen teon, mutten osaa tehdä tarvittavia kytköksiä koodiin ja tietokantaan. Osaako joku auttaa?
Ohjelma
public class taivutus1 {
public static void main (String[] args)
{
//muuttujien määrittely
String infinitiivi;
//otetaan scanner toiminto käyttöön
Scanner lukija = new Scanner (System.in);
//pyydetään käyttäjää syöttämään verbin infinitiivi
System.out.println("Syota verbin infinitiivi:");
infinitiivi = lukija.next();
System.out.println("\n");
int pituus;
int n;
pituus = infinitiivi.length(); // kysytään merkkijonon pituus
if (pituus 3 & infinitiivi.endsWith("aa") || infinitiivi.endsWith("ea") || infinitiivi.endsWith("ia") || infinitiivi.endsWith("oa") || infinitiivi.endsWith("ua") || infinitiivi.endsWith("\u00E4\u00E4") || infinitiivi.endsWith("\u201E\u201E")||infinitiivi.endsWith ("\u0079\u00E4") || infinitiivi.endsWith ("\u0079\u201E")||infinitiivi.endsWith ("\u0065\u00E4") || infinitiivi.endsWith ("\u0065\u201E") ||infinitiivi.endsWith ("\u0069\u00E4") || infinitiivi.endsWith ("\u0069\u201E"))
{
System.out.println("Verbi kuuluu 1. ryhm\u201E\u201En");
}
else
{
System.out.println("Tama ei kuulu 1. ryhm\u201E\u201En");
}
if ( infinitiivi.endsWith("kkua"))
{
System.out.println ("min\u201E " infinitiivi.replace ("kkua","kun"));
System.out.println ("sin\u201E " infinitiivi.replace ("kkua","kut"));
System.out.println ("h\u201En " infinitiivi.replace ("kkua","kkuu"));
System.out.println ("me " infinitiivi.replace ("kkua","kumme"));
System.out.println ("te " infinitiivi.replace ("kkua","kutte"));
System.out.println ("he " infinitiivi.replace ("kkua","kkuvat"));
}
if ( infinitiivi.endsWith("ppia"))
{
System.out.println ("min\u201E " infinitiivi.replace ("ppia","pin"));
System.out.println ("sin\u201E " infinitiivi.replace ("ppia","pit"));
System.out.println ("h\u201En " infinitiivi.replace ("ppia","ppii"));
System.out.println ("me " infinitiivi.replace ("ppia","pimme"));
System.out.println ("te " infinitiivi.replace ("ppia","pitte"));
System.out.println ("he " infinitiivi.replace ("ppia","ppivat"));
}
}
}
LOMAKE
public class lomake extends javax.swing.JFrame {
private Object sanat;
/** Creates new form lomake */
public lomake() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {
bindingGroup = new org.jdesktop.beansbinding.BindingGroup();
infinitiivi = new javax.swing.JLabel();
juillet = new javax.swing.JLabel();
txtverbi = new javax.swing.JTextField();
btnTaivutus = new javax.swing.JToggleButton();
btnLisää = new javax.swing.JToggleButton();
btnsulje = new javax.swing.JToggleButton();
jScrollPane1 = new javax.swing.JScrollPane();
txtaTaivutus = new javax.swing.JTextArea();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("TAIVUTUS");
juillet.setFont(new java.awt.Font("Tahoma", 0, 18));
juillet.setForeground(new java.awt.Color(255, 0, 0));
juillet.setText("Syötä verbin infinitiivi ");
txtverbi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtverbiActionPerformed(evt);
}
});
btnTaivutus.setText("TAIVUTAA");
org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, txtverbi, org.jdesktop.beansbinding.ELProperty.create("${text}"), btnTaivutus, org.jdesktop.beansbinding.BeanProperty.create("selected"));
bindingGroup.addBinding(binding);
btnTaivutus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTaivutusActionPerformed(evt);
}
});
btnLisää.setText("LISÄÄ TIETOKANTAAN");
btnLisää.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLisääActionPerformed(evt);
}
});
btnsulje.setText("SULJE");
btnsulje.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnsuljeActionPerformed(evt);
}
});
txtaTaivutus.setColumns(20);
txtaTaivutus.setRows(5);
jScrollPane1.setViewportView(txtaTaivutus);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(juillet, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(btnLisää, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtverbi, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 146, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addComponent(btnTaivutus)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(infinitiivi, javax.swing.GroupLayout.PREFERRED_SIZE, 239, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(113, 113, 113))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(btnsulje, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(43, 43, 43))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(juillet, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(22, 22, 22)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtverbi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnTaivutus))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnLisää)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(infinitiivi, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 21, Short.MAX_VALUE)
.addComponent(btnsulje)
.addContainerGap())
);
bindingGroup.bind();
pack();
}//
private void txtverbiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btnLisääActionPerformed(java.awt.event.ActionEvent evt) {
}
private void btnsuljeActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);// TODO add your handling code here:
}
private void btnTaivutusActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("\n");
for(int i = 0; i < sanat.length; i);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new lomake().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JToggleButton btnLisää;
private javax.swing.JToggleButton btnTaivutus;
private javax.swing.JToggleButton btnsulje;
private javax.swing.JLabel infinitiivi;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel juillet;
private javax.swing.JTextArea txtaTaivutus;
private javax.swing.JTextField txtverbi;
private org.jdesktop.beansbinding.BindingGroup bindingGroup;
// End of variables declaration
}
Apua NetBeans-harjoitukseen?
2
752
Vastaukset
- if-else
Kun testasin tuota lomakkeen koodia, niin siinä painikkeet jäivät pohjaan ja verbi kenttään tulostui true/false kun "TAIVUTA" nappia painoi. Lisäksi koodissa oli turha rivi "for(int i = 0; i < sanat.length; i);" jolle kääntäjä heitti herjaa.
Jos saat sen true/false tulosteen pois, niin saat verbin taivutuksen siihen isoon taivutus teksti kenttään seuraavasti. Muuta lomakkeen btnTaivutsActionPerformed -metodi alla olevan kaltaiseksi. Eli siinä 1) haetaan verbi tekstikentästä, 2) taivutetaan verbi, 3) asetetaan taivutuksen tulos taivutus tekstikenttään.
--- ALKAA ---
private void btnTaivutusActionPerformed(java.awt.event.ActionEvent evt) {
txtaTaivutus.setText(taivutus1.taivuta(txtverbi.getText()));
}
--- LOPPUU ---
Lisää taivutus1 luokaan alla oleva metodi, eli metodi joka hoitaa taivutuksen:
---- ALKAA ---
public static String taivuta(String infinitiivi) {
String taivutus = "";
if (infinitiivi.endsWith("kkua")) {
taivutus = "minä " infinitiivi.replace("kkua", "kun") "\n";
taivutus = "sinä " infinitiivi.replace("kkua", "kut") "\n";
taivutus = "hän " infinitiivi.replace("kkua", "kkuu") "\n";
taivutus = "me " infinitiivi.replace("kkua", "kumme") "\n";
taivutus = "te " infinitiivi.replace("kkua", "kutte") "\n";
taivutus = "he " infinitiivi.replace("kkua", "kkuvat") "\n";
} else if (infinitiivi.endsWith("ppia")) {
taivutus = "minä " infinitiivi.replace("ppia", "pin") "\n";
taivutus = "sinä " infinitiivi.replace("ppia", "pit") "\n";
taivutus = "hän " infinitiivi.replace("ppia", "ppii") "\n";
taivutus = "me " infinitiivi.replace("ppia", "pimme") "\n";
taivutus = "te " infinitiivi.replace("ppia", "pitte") "\n";
taivutus = "he " infinitiivi.replace("ppia", "ppivat") "\n";
}
else
{
taivutus = "Ei taivutusta\n";
}
return taivutus;
}
--- LOPPUU ---
Latasin Netbeansin juuri äsken joten en tiedä miten siinä asiat pitäisi tehdä. Joku Netbeans käyttäjä varmaan osaa kertoa tarkemmin. Sen true/falsen sain pois kun kommentoin pois "bindingGroup.addBinding(binding);" -rivin ja sen yläpuolella olleen rivin.
Tietokannasta en tiedä mitään. Mitä sen napin pitäisi tehdä ja miten tietokantaa on tarkoitus käyttää?- Tyhmä!?
Hei!
Kiitoksia vastauksista joista on paljon apua. Tietokanta-napin idea oli se että taivutetut muodot tallentuvat tietokantaan (esim. Accessiin tai vastaavaan)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Ensitreffit Jenni laukoo viinilasin ääressä suorat sanat Jyrkin aikeista: "Mä sanoin, että älä"
Voi ei… Mitä luulet: kestääkö Jennin ja Jyrkin avioliitto vai päättyykö eroon? Lue lisää: https://www.suomi24.fi/viihde232742Ymmärrän paremmin kuin koskaan
Roikut kädessäni ja vedät puoleesi. Näen kuitenkin tämän kaiken lävitse ja kaikkien takia minun on tehtävä tämä. Päästän292302- 1482264
Hullu liikenteessä?
Mikä hullu pyörii kylillä jos jahti päällä? Näitä tosin kyllä riittää tällä kylällä.532180Niina Lahtinen uudessa elämäntilanteessa - Kotiolot ovat muuttuneet merkittävästi: "Nyt on...!"
Niina, tanssejasi on riemukasta seurata, iso kiitos! Lue Niinan haastattelu: https://www.suomi24.fi/viihde/niina-lahti211792Kun Venäjä on tasannut tilit Ukrainan kanssa, onko Suomi seuraava?
Mitä mieltä olette, onko Suomi seuraava, jonka kanssa Venäjä tasaa tilit? Ja voisiko sitä mitenkään estää? Esimerkiks3891652Ano Turtiainen saa syytteet kansankiihoituksesta
Syytteitä on kolme ja niissä on kyse kirjoituksista, jotka hän on kansanedustaja-aikanaan julkaissut Twitter-tilillään961586- 2941470
- 1331418
Varokaa! Lunta voi sataa kohta!
Vakava säävaroitus Lumisadevaroitus Satakunta, Uusimaa, Etelä-Karjala, Keski-Suomi, Etelä-Savo, Etelä-Pohjanmaa, Pohjanm131409