Skip to content

Instantly share code, notes, and snippets.

@Skn0tt
Created January 25, 2020 11:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Skn0tt/d9493919594a6e9f43bf894cd8420d47 to your computer and use it in GitHub Desktop.
Save Skn0tt/d9493919594a6e9f43bf894cd8420d47 to your computer and use it in GitHub Desktop.
Java introduction BwInf-Camp 2020

Goals: being able to ...

  • ... write smallish programs with 2 to 3 functions and different control structures
  • ... use one IO operation
  • ... use Eclipse for running your code

Team-Coding

To learn the basics of the syntax, we'll jointly develop FizzBuzz. To explain FizzBuzz, you can at first play it in real life.

What's important in this exercise:

  • System.out.println
  • functions
  • main
  • for what we do, you can ignore static void and classes

Now the students are tasked with two exercises they'll do on their own.

Exercise 1

Goals:

  • get to know data types and syntax
  • learn one kind of loop
  • learn to use functions

Exercise: compute nth Prime.

class NthPrime {

  static boolean isPrime(int potentialPrime) {
    int limit = Math.sqrt(n);

    for (int i = 2; i < limit; i++) {
      if (potentialPrime % i == 0) {
        return false;
      }
    }

    return true;
  }

  static int getNthPrime(int n) {
    int i = 2;
    while (n > 0) {
      if (isPrime(i)) {
        n--;
      }

      i++;
    }

    return i;
  }

  public static void main(String... args) {
    int n = 20;
    int nThPrime = getNthPrime(n);
    System.out.println(n + "th Prime: " + nThPrime);
  }

}

Exercise 2

Goals:

  • get to know Strings
  • reading files

Task: Read in input.txt. Collect some stats on the age: minimum, maximum, median. If your students are fast, they can do the following:

  • compute the average (they need to sort first)
  • use Lists instead of arrays

mögl. Lösung:

class AgeStatistics {

  List<String> readFile() {
    String filePath = "./data.txt";
    Scanner scanner = new Scanner(new File(filePath));

    // maybe use String[] with very big size? May be easier to understand
    List<String> result = new ArrayList<String>();

    while (scanner.hasNext()) {
      String line = scanner.next();
      result.add(result);
    }

    return result;
  }

  List<Integer> extractAges(List<String> lines) {
    List<Integer> result = new ArrayList<Integer>();

    for (String line : lines) {
      String[] parts = line.split(",");
      String ageString = parts[2];
      Integer age = Integer.parseInt(ageString);
      result.add(age);
    }

    return result;
  }

  void printStats(List<Integer> ints) {
    int min = list.get(0);
    int max = list.get(0);
    int sum = 0;

    for (Integer x : ints) {
      sum += x;

      if (x < min) {
        min = x;
      }

      if (x > max) {
        max = x;
      }
    }

    System.out.println("Min: " + min);
    System.out.println("Max: " + max);
    System.out.println("Avg: " + sum / ints.size);
  }
  
  public static void main(String... args) {
    String[] lines = readFile();
    List<Integer> ages = extractAges(lines);
    printStats(ages);
  }

}
female,abbie.clark@example.com,39
male,kevin.peterson@example.com,56
female,consuelo.alonso@example.com,65
female,izzie.frazier@example.com,36
male,ekkehard.heigl@example.com,35
male,otto.hokkanen@example.com,36
male,lee.vasquez@example.com,29
male,alvin.ferguson@example.com,68
male,marvin.bonnet@example.com,60
female,melanie.guillaume@example.com,65
male,daniel.alonso@example.com,24
female,sofia.nguyen@example.com,73
female,zoe.thomas@example.com,27
male,yusuf.goedbloed@example.com,39
female,esma.kuzucu@example.com,76
male,mitchell.lee@example.com,71
female,pry.prs@example.com,48
male,henry.thaler@example.com,56
male,manuel.fuentes@example.com,59
male,rene.day@example.com,24
female,mhdys.nkwnzr@example.com,26
female,christine.griffin@example.com,67
female,wilma.frazier@example.com,37
female,iida.niska@example.com,40
female,ariane.gagnon@example.com,28
female,phoebe.garza@example.com,40
female,sibilla.bunge@example.com,61
female,elif.kocoglu@example.com,68
male,iker.alvarez@example.com,59
female,abigail.wilson@example.com,37
female,maia.taylor@example.com,57
male,erich.lucke@example.com,55
female,alysia.vantwist@example.com,26
male,raul.bates@example.com,68
male,hans-martin.sachs@example.com,31
male,mhmdaaly.nkwnzr@example.com,73
male,adam.jackson@example.com,47
female,enni.saari@example.com,48
male,marvin.cruz@example.com,52
male,antonino.dumas@example.com,28
female,florieke.vandorland@example.com,34
male,jovelino.nunes@example.com,56
male,virgil.elliott@example.com,75
female,sam.payne@example.com,24
female,vicky.perkins@example.com,54
male,jean-louis.rolland@example.com,47
female,christal.hulsen@example.com,51
female,simone.with@example.com,69
female,julie.meyer@example.com,37
female,prmys.jaafry@example.com,25
male,deejay.reuver@example.com,24
female,maryse.vanmarwijk@example.com,56
female,denira.barbosa@example.com,62
female,mrym.sltnynjd@example.com,29
female,marlene.clark@example.com,50
male,raymond.lawrence@example.com,58
female,milla.kantola@example.com,48
female,jenny.allen@example.com,42
female,aada.linna@example.com,66
male,felix.nelson@example.com,50
male,mhmdprs.hsyny@example.com,54
female,ruby.johnson@example.com,57
female,liva.christiansen@example.com,29
male,maxence.dubois@example.com,36
female,harper.lavigne@example.com,57
female,elise.vidal@example.com,72
male,batur.avan@example.com,49
male,joe.jenkins@example.com,53
female,patricia.black@example.com,72
male,myrhsyn.aalyzdh@example.com,44
male,huseyin.rozenberg@example.com,47
male,myrmhmd.qsmy@example.com,69
male,dnyl.khmrw@example.com,49
female,loretta.black@example.com,26
female,pinja.hatala@example.com,73
female,viivi.perala@example.com,50
female,ozsu.koyuncu@example.com,59
male,serdar.idema@example.com,65
female,lorena.nieto@example.com,43
female,clara.mortensen@example.com,37
female,olivia.terry@example.com,72
male,roger.lucas@example.com,60
female,georgia.patel@example.com,23
male,stephan.lemoine@example.com,45
female,celia.ibanez@example.com,50
female,neivana.oliveira@example.com,43
male,andre.colin@example.com,29
female,emma.kuusisto@example.com,50
male,efe.kocyigit@example.com,70
male,nicholas.stephens@example.com,28
male,alder.vieira@example.com,74
male,gard.braend@example.com,22
female,alisa.haataja@example.com,25
female,ida.larsen@example.com,39
male,nicolas.wong@example.com,37
male,jiri.hauser@example.com,35
female,barb.fox@example.com,42
male,villads.larsen@example.com,64
male,jack.green@example.com,56
male,kerim.erbay@example.com,47
female,josephine.barnett@example.com,62
male,jeremiah.sanders@example.com,39
female,mechthild.ihle@example.com,37
female,siobhan.adriaansen@example.com,51
female,amalie.poulsen@example.com,49
female,ava.nichols@example.com,24
male,oliver.williams@example.com,32
male,fatih.gonultas@example.com,37
female,freja.larsen@example.com,28
female,suly.araujo@example.com,46
male,h.-dieter.hamm@example.com,54
female,angie.hill@example.com,52
female,sophie.dubois@example.com,65
male,lino.lopez@example.com,44
female,melody.lucas@example.com,33
male,abdelhamid.boateng@example.com,38
male,christof.lecomte@example.com,30
male,gregor.marie@example.com,73
male,caleb.may@example.com,26
female,simona.burger@example.com,55
female,hanna.ribeiro@example.com,61
male,stephen.jennings@example.com,29
male,eric.chapman@example.com,33
male,agustin.gil@example.com,57
female,candice.mathieu@example.com,55
male,mario.gonzalez@example.com,30
female,oya.menemencioglu@example.com,70
female,lindamir.dias@example.com,58
female,katja.velten@example.com,63
female,julia.caldwell@example.com,55
male,jacob.sorensen@example.com,44
male,niklas.hamalainen@example.com,50
female,firmina.damata@example.com,29
male,ernest.willis@example.com,67
female,liepa.saga@example.com,58
female,olivia.walker@example.com,27
male,jacob.martinez@example.com,26
female,ruby.hall@example.com,74
female,gzl.kmyrn@example.com,52
male,antonio.schmidt@example.com,48
male,tidemann.aardal@example.com,47
male,lyam.olivier@example.com,31
male,albert.gomez@example.com,58
female,sadie.wilson@example.com,51
female,areta.gomes@example.com,61
female,buse.ayverdi@example.com,23
female,amelia.walker@example.com,54
female,esma.babaoglu@example.com,44
male,adem.oraloglu@example.com,64
male,jenno.vanhalteren@example.com,60
female,hanna.fitzpatrick@example.com,74
female,susanna.perry@example.com,26
female,filippa.petersen@example.com,71
male,lonnie.cook@example.com,58
male,lewis.white@example.com,36
male,josef.andre@example.com,62
male,same.holland@example.com,45
male,dale.wells@example.com,51
female,agathe.guerin@example.com,72
male,rdyn.khrymy@example.com,70
male,marco.prieto@example.com,72
female,maia.clarke@example.com,61
male,jeremy.li@example.com,64
male,aleksi.seppala@example.com,23
male,santiago.roman@example.com,62
female,sheila.barnett@example.com,31
male,derek.vargas@example.com,39
female,emilie.petersen@example.com,23
female,jamie.robertson@example.com,65
male,salomon.massink@example.com,22
female,elzbieta.schwarz@example.com,27
male,aaly.rdyyn@example.com,38
female,graciele.damata@example.com,44
male,philippe.kowalski@example.com,30
male,said.selstad@example.com,30
female,mia.munkvold@example.com,34
female,adeline.louis@example.com,76
male,craig.thomas@example.com,34
female,hubertine.hilbert@example.com,53
female,sophie.kumar@example.com,28
male,richard.wade@example.com,22
female,bridget.wildenbeest@example.com,69
male,raul.bailey@example.com,57
male,oguzhan.eronat@example.com,34
female,annabelle.cote@example.com,54
male,harold.weaver@example.com,45
male,cassio.novaes@example.com,68
female,nellie.naber@example.com,63
female,rose.belanger@example.com,39
female,simona.ditlefsen@example.com,65
male,numan.huijgens@example.com,49
male,karl.cole@example.com,23
female,cherly.lopez@example.com,69
male,timothee.garcia@example.com,28
male,miguel.campos@example.com,69
female,hsty.mwswy@example.com,65
female,carolyn.robinson@example.com,61
female,emma.olsen@example.com,70
female,liliana.petit@example.com,71
female,dantela.fogaca@example.com,64
male,noah.harcourt@example.com,41
female,andrea.moller@example.com,39
female,iiris.kivela@example.com,74
female,evangelia.diekmann@example.com,59
female,ozsu.fahri@example.com,69
female,francisca.gutierrez@example.com,24
male,olander.lovlien@example.com,67
female,camille.dumas@example.com,51
male,eren.abaci@example.com,46
male,kadir.atan@example.com,48
male,efe.sepetci@example.com,45
female,grace.lima@example.com,35
female,aino.kujala@example.com,31
female,raphaela.muhle@example.com,65
female,ftmhzhr.rdyyn@example.com,30
male,aimane.gerards@example.com,55
male,gabe.peters@example.com,60
female,jaimey.oosterling@example.com,51
male,rafael.kelly@example.com,46
female,jenny.watson@example.com,59
female,julie.peters@example.com,23
female,vanessa.dupuis@example.com,59
male,lowie.vanrijswijk@example.com,64
female,cynthia.kurvers@example.com,54
female,carolyn.lee@example.com,69
male,everett.meyer@example.com,67
female,gabrielle.taylor@example.com,37
male,ard.rdyy@example.com,73
female,abigail.wood@example.com,55
male,gokhan.yilmazer@example.com,70
male,thomas.walker@example.com,70
female,sofie.pedersen@example.com,39
male,jackson.burke@example.com,70
female,elsa.wirta@example.com,50
male,curtis.nichols@example.com,59
male,alfredo.vargas@example.com,67
male,daniel.vasquez@example.com,37
female,harper.lam@example.com,69
male,daniel.jensen@example.com,75
male,iver.idsoe@example.com,41
female,nalan.berberoglu@example.com,54
male,louis.murray@example.com,71
male,samuel.adam@example.com,24
male,danijel.adam@example.com,53
female,enni.sakala@example.com,59
female,line.martinez@example.com,48
female,marta.roman@example.com,26
female,kylie.wood@example.com,67
male,nathaniel.snyder@example.com,45
female,faustine.adam@example.com,62
female,louise.gibson@example.com,42
female,annette.griffin@example.com,51
female,maja.madsen@example.com,69
female,mia.dixon@example.com,23
female,rosa.moraes@example.com,43
female,pia.ahrens@example.com,56
female,drs.ysmy@example.com,44
male,sm.khwty@example.com,61
female,aminda.kjosnes@example.com,34
female,lotta.saksa@example.com,53
male,antonin.dumas@example.com,55
female,esma.korol@example.com,76
female,meral.egeli@example.com,35
female,anni.jokela@example.com,69
male,randolf.reith@example.com,48
male,alex.girard@example.com,28
male,indalecio.barros@example.com,50
female,bernice.sullivan@example.com,59
female,concepcion.alvarez@example.com,72
female,violet.zhang@example.com,22
male,guillermo.soler@example.com,44
male,hsn.aalyzdh@example.com,42
female,scarlett.jenkins@example.com,71
female,abby.shaw@example.com,32
female,antoinette.helbig@example.com,63
male,william.olsen@example.com,58
female,drs.ysmy@example.com,33
male,ron.patterson@example.com,38
male,storm.moller@example.com,47
female,bircan.duijf@example.com,43
female,mina.gronnestad@example.com,50
female,barb.ruiz@example.com,61
female,joaquina.oliveira@example.com,73
female,randi.reppen@example.com,37
female,mathilde.mortensen@example.com,56
female,marilou.claire@example.com,34
female,isabell.noori@example.com,62
female,amparo.pena@example.com,27
female,dolores.martin@example.com,68
female,begona.prieto@example.com,40
male,akseli.makinen@example.com,36
female,indie.evans@example.com,65
male,jean-paul.morin@example.com,49
male,jeppe.thomsen@example.com,30
male,engelbertus.bentum@example.com,30
female,yolanda.hidalgo@example.com,42
male,bruce.collins@example.com,24
male,johan.rasmussen@example.com,25
female,aaliyah.turner@example.com,43
male,jurrit.haenen@example.com,51
male,franciszek.saetren@example.com,42
female,chloe.fernandez@example.com,54
male,deniz.charles@example.com,47
male,raul.wells@example.com,33
female,lorraine.sanders@example.com,51
female,khyn.shylyrd@example.com,35
male,daniel.johnson@example.com,47
male,pablo.dupuis@example.com,57
female,noelle.weum@example.com,47
female,caitlin.walker@example.com,52
female,ramona.green@example.com,44
male,frank.freeman@example.com,62
male,nooa.rautio@example.com,72
male,brennan.harris@example.com,76
male,jimi.toivonen@example.com,54
male,nino.renaud@example.com,60
male,lukas.roy@example.com,47
female,eliza.henderson@example.com,42
female,inaya.blanc@example.com,67
male,dominic.levesque@example.com,50
female,vilma.keto@example.com,29
female,noemie.guillaume@example.com,42
male,greg.grant@example.com,53
female,phoebe.perry@example.com,54
male,elliot.johnson@example.com,65
male,ludovic.brun@example.com,36
female,aaliyah.thompson@example.com,72
male,david.west@example.com,27
male,johnny.matthews@example.com,70
male,elijah.martinez@example.com,73
male,felix.thomsen@example.com,55
female,valquiria.pereira@example.com,52
female,omur.yildirim@example.com,74
male,etienne.claire@example.com,24
male,hayati.ermens@example.com,50
male,gene.reynolds@example.com,34
female,violet.walker@example.com,24
female,jennifer.kuhn@example.com,61
male,benjamin.wong@example.com,54
female,oya.duygulu@example.com,33
female,gwendoline.huijberts@example.com,53
female,johanne.olsen@example.com,55
female,lola.beck@example.com,38
male,koray.mertoglu@example.com,40
female,sryn.kmyrn@example.com,70
male,carl.rasmussen@example.com,22
male,valdemar.nielsen@example.com,26
female,may.mork@example.com,45
female,alexandra.bretschneider@example.com,49
female,anica.endres@example.com,31
male,tarik.woltjer@example.com,26
female,gelcira.moura@example.com,39
male,lionel.bolme@example.com,71
female,bella.amble@example.com,31
female,emilia.gallardo@example.com,43
male,onur.oymen@example.com,54
male,mille.larsen@example.com,52
male,lyam.louis@example.com,60
female,melike.erberk@example.com,25
male,peetu.koski@example.com,24
male,aalyrd.jaafry@example.com,62
male,tristan.joly@example.com,39
female,alexandra.butler@example.com,60
male,christoffer.thomsen@example.com,53
male,rocco.berger@example.com,70
male,lincoln.kumar@example.com,29
male,oguzhan.kucukler@example.com,40
female,ella.jorgensen@example.com,25
female,ayse.kirac@example.com,72
female,michelle.johnson@example.com,73
male,alexandre.roy@example.com,33
male,rene.burns@example.com,73
female,lillian.arnold@example.com,23
female,maja.poulsen@example.com,56
female,ekaterina.daniel@example.com,70
female,yolanda.leon@example.com,50
female,elia.bonnet@example.com,36
female,sherri.daniels@example.com,65
male,luciano.vidal@example.com,32
male,warren.torres@example.com,47
male,william.storli@example.com,71
male,sasha.faure@example.com,32
male,enver.dasilva@example.com,39
male,dale.king@example.com,44
male,maxime.tremblay@example.com,74
male,paulo.silveira@example.com,48
male,kristoffer.michaelsen@example.com,63
male,tyler.morris@example.com,68
male,efe.egeli@example.com,27
female,jasmin.svihus@example.com,69
female,mila.robberstad@example.com,51
male,logan.macdonald@example.com,41
male,hans.aubert@example.com,56
male,prhm.kmyrn@example.com,56
female,nicoline.poulsen@example.com,39
female,sanni.koski@example.com,69
male,luca.jackson@example.com,51
female,solveig.gehlen@example.com,47
female,kim.turner@example.com,60
male,jaco.damota@example.com,40
female,lisenka.elbertse@example.com,32
female,eivor.hovdal@example.com,72
female,juanita.patterson@example.com,23
male,dan.simmons@example.com,65
male,sm.hmdy@example.com,66
male,georg.gonzalez@example.com,64
female,emma.buhl@example.com,22
male,mike.wade@example.com,64
female,lily.brown@example.com,39
male,christian.foster@example.com,40
male,fabio.fournier@example.com,42
female,nalan.bicer@example.com,75
female,joella.brandes@example.com,71
female,jandirene.silva@example.com,71
male,leroy.turner@example.com,48
male,theodore.simpson@example.com,44
female,rosi.hansel@example.com,62
female,marijana.vanlith@example.com,50
female,hilda.berger@example.com,70
male,leo.niva@example.com,42
female,selma.hansen@example.com,32
female,catherine.elliott@example.com,43
male,lloyd.black@example.com,37
male,ian.reynolds@example.com,41
male,oliver.li@example.com,39
female,andrea.nielsen@example.com,48
female,monique.aubert@example.com,33
female,louise.barnes@example.com,59
male,olavo.nunes@example.com,64
female,viivi.kalm@example.com,50
female,siri.lilleng@example.com,30
female,sanni.kuusisto@example.com,50
male,edmund.aarsand@example.com,30
female,allie.bailey@example.com,33
male,oscar.pastor@example.com,26
female,bertha.jenkins@example.com,23
male,clarence.hamilton@example.com,46
female,jennifer.mills@example.com,52
male,vegar.stokken@example.com,69
female,jen.sanders@example.com,28
female,alyssa.bourgeois@example.com,23
male,ramon.parra@example.com,60
male,gavin.hunt@example.com,60
female,lily.henderson@example.com,35
male,xaver.roger@example.com,52
male,dewy.vandorp@example.com,40
male,martin.morales@example.com,40
female,blanca.ruiz@example.com,58
male,kevin.renaud@example.com,24
male,harold.oliver@example.com,55
male,etienne.roy@example.com,48
female,josefina.diez@example.com,35
male,emin.hammerschmidt@example.com,34
female,kalina.fuchs@example.com,25
male,mhrd.sdr@example.com,31
male,roy.knight@example.com,52
male,santiago.perez@example.com,34
female,victoria.souza@example.com,40
male,eren.berentsen@example.com,25
female,ozsu.yetkiner@example.com,41
male,christopher.murray@example.com,64
male,okan.alniacik@example.com,36
female,aycan.vanveldhoven@example.com,46
male,adryn.rdyyn@example.com,54
male,markas.leine@example.com,53
male,petros.stenger@example.com,65
female,ceyhan.ozkok@example.com,41
male,tracy.simmons@example.com,54
female,sam.duncan@example.com,69
female,alise.kvarme@example.com,65
male,christian.wright@example.com,38
female,hulda.joachim@example.com,44
female,afsar.demirbas@example.com,75
female,milagros.marin@example.com,74
female,emma.petersen@example.com,33
female,olinda.carvalho@example.com,61
female,katrine.kristensen@example.com,39
male,isaac.martin@example.com,24
male,svein.birkeland@example.com,74
male,philip.buan@example.com,50
male,gersao.sales@example.com,58
female,annette.blanc@example.com,31
male,reginald.harris@example.com,41
female,catia.roger@example.com,68
male,aaron.li@example.com,49
male,andrew.renard@example.com,57
male,ricardo.sanchez@example.com,55
female,milja.ahola@example.com,54
male,angel.burns@example.com,73
female,alison.cook@example.com,25
male,gottlob.merkl@example.com,75
female,sharmaine.hesse@example.com,59
female,leah.fields@example.com,65
male,myrmhmd.qsmy@example.com,70
female,emma.bradley@example.com,60
male,ryan.campbell@example.com,74
male,maxime.riviere@example.com,72
male,perry.sutton@example.com,41
male,emil.korpi@example.com,58
female,leila.aubert@example.com,48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment