Programmiersprache – die neusten Beiträge

Korrekte Angabe der Größe bei Bildern?

Hallo,

ich habe einige Bilder über eine Schleife auf 280 Pixel Breite und korespondierende Höhe verkleinert. Die Verkleinerung ist erfolgreich ausgeführt worden. Alle Bilder sind tatsächlich kleiner.

In einer docx-Datei sollen die Bilder an einer bestimmten Stelle der Tabelle eingefügt werden. Mit dem folgenden Codebeispiel gelingt mir dies zwar, aber er stellt die Bilder unnötig groß dar.

Also hatte ich eine kleine Abfrage generiert, wo nochmal die genauen Größen (Breite, Höhe) in entsprechenden Listen gespeichert werden.

Ich habe also eine Liste mit lauter 280.

for i in range(len(PICTURES)):
   Table.cell(i + 1, 4).text = ''    
   Table.cell(i + 1, 4).paragraphs[0].runs[0].add_picture(PICTURES[i])           

In der Form packt er mir die Bilder rein. Aber aus irgendeinem Grund nicht so wie ich das will. Er vergrößert das Bild unnötig und darum ist das Ergebnis auch Banane.

Schreibe ich

Table.cell(i + 1, 4).paragraphs[0].runs[0].add_picture(PICTURES[i], width=Width_new[i])

dann sollte er sich also eine 280 aus der Liste mit den ganzen 280ern suchen.

Das geht auch nicht. In dem Fall schreibt er nichts. Er muss anscheinend wissen, dass es sich um Pixel handelt?

Angenommen, ich schreibe

Table.cell(i + 1, 4).paragraphs[0].runs[0].add_picture(PICTURES[i], width=Cm(2))

weiß er, dass die Breite 2cm ist. Für Px() o.a. sagt mir der Editor, er kennt es nicht.

Weiß jemand einen Rat?

Programmiersprache, Python

Java: Wie kann ich eine Route mit beliebig vielen Zwischenhalten einlesen und im Array ausgeben?

Hallo zusammen.

Es soll ein Programmcode geschrieben werden, bei dem ein Anzahl Zwischenstopps, Start- und Endpunkt angegeben werden müssen. Alle Eingaben müssen im Array gespeichert und später wiedergegeben werden.

Wichtig ist:

  • Erster Wert ist mein Startpunkt, bspw. Köln.
  • Der letzte Arraywert ist mein Endpunkt, bspw. Berlin.

Irgendwas in meinem Code ist leider falsch. Es müssen definitiv zwei Schleifen vorhanden sein.

Könnt ihr mir bei der Korrektur meines Codes bitte helfen?

Besten Dank!

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    // Diesen Teil nicht anpassen
    Scanner keyScan = new Scanner(System.in);
    System.out.print("Anzahl Zwischenhalte: ");
    int anzahlVias = keyScan.nextInt();
    keyScan.nextLine();
    String [] strecke = new String[anzahlVias + 2];

    System.out.print("Reise von: ");
    // TODO: Start einlesen und im Array strecke speichern
    strecke[0] = keyScan.nextLine();

    System.out.print("Reise nach: ");
    // TODO: Ziel einlesen und im Array strecke speichern
    strecke[strecke.length - 1] = keyScan.nextLine();

    // TODO: Vias einlesen und im Array strecke speichern
    int counter = 0;

    while (counter < strecke.length) {
      for (int i = 0; i < strecke.length; i++) {
        for (int y = 0; y < 3; y++) {
          System.out.print("Via: ");
          strecke[1] = keyScan.nextLine();
          counter++;
        }

        System.out.println("Deine Route: "+ strecke[counter]);
      }

      // TODO: Route ausgeben
    }

    keyScan.close();
  }
}
Java, Array, Programmiersprache

C# Schleife nur bei der falschen Eingabe?

servus,

könnte mir jemand helfen eine Schleife in mein Code reinzubauen, die sich nur innerhalb der falschen Eingabe aktiviert? hab alles mit meinem Anfängerwissen versucht aber leider erfolglos.

Nur bei den Eingaben 1, 2, 3, 4, 5 und 6 soll das jeweilige Getränk ausgewählt werden, bei anderen Zahlen wird der User gebeten andere Zahl einzugeben.

Console.Write("         |    Enter the number: ");
int choosedDrink = Int32.Parse(Console.ReadLine());



   switch (choosedDrink)
   {
      case 1:
      Console.WriteLine("\n");
      Console.WriteLine("You choosed CocaCola");
      break;

      case 2:
      Console.WriteLine("\n");
      Console.WriteLine("You choosed Water");
      break;

      case 3:
      Console.WriteLine("\n");
      Console.WriteLine("You choosed Juice");
      break;

      case 4:
      Console.WriteLine("\n");
      Console.WriteLine("You choosed IceTee");
      break;

      case 5:
      Console.WriteLine("\n");
      Console.WriteLine("You choosed RedBull");
      break;

      case 6:
      Console.WriteLine("\n");
      Console.WriteLine("You choosed Cellar Beer");
      break;

      default:
        Console.WriteLine("\n");
        Console.WriteLine("\n");
        Console.Write("Unidentified Number, try again: ");
        choosedDrink = Int32.Parse(Console.ReadLine());
        break;

  }
C Sharp, Programmiersprache, Visual Studio, Loop

Java ArrayList BUG?

Ich habe eine Klasse "AndererTest", "xyPosition" und eine Klasse "Testerklasse".In der Klasse "AndererTest" wird eine ArrayList namens "abzufragendeKoordinaten" erstellt und außerdem auch ein mehrdimensionales Array "stringarray", welches Strings speichert. Ich möchte die Inhalte des "stringarray" ausgeben, aber in zufälliger Reihenfolge. Voher habe ich in der Klasse "TesterKlasse" - welche quasi hier die Main - Klasse mit der main methode sein soll - strings dem "stringarray" zugeordnet:

Klasse TesterKlasse:

Ausgegeben soll das "stringarray" mit der Methode arrayDurchlaufen(). Ausgegeben wird aber immer nur:

anstatt z.B.:

stringarray[2] [0] = f;
stringarray[1] [1] = "d";
stringarray[0] [2] = "b";
stringarray[2] [2] = "h";
//...

Hier ist der Code zur kritischen Klasse "AndererTest":

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;

public class AndererTest {
static Random random = new Random();
    static xyPosition nullnull = new xyPosition(0,0);
    static xyPosition nulleins = new xyPosition(0,1);
    static xyPosition nullzwei = new xyPosition(0,2);
    static xyPosition einsnull = new xyPosition(1,0);
    static xyPosition einseins = new xyPosition(1, 1);
    static xyPosition einszwei = new xyPosition(1, 2);
    static xyPosition zweinull = new xyPosition(2, 0);
    static xyPosition zweieins = new xyPosition(2, 1);
    static xyPosition zweizwei = new xyPosition(2, 2);
    static ArrayList<xyPosition> abzufragendeKoordinaten = new ArrayList<>(Arrays.asList( nullnull, nulleins, nullzwei, einsnull, einseins, einszwei, zweinull, zweieins, zweizwei));

static String[] [] stringarray = new String[3] [3];
static int zufälligeMöglicheyPosition;
static int zufälligeMöglichexPosition;

public int getZufälligeMöglicheyPosition() {
    return zufälligeMöglicheyPosition;
}

public int getZufälligeMöglichexPosition() {
    return zufälligeMöglichexPosition;
}


public static void durchlaufeArray() {
    for (int i = 0; i < 9; i++) {
    int grenzeminuseins = abzufragendeKoordinaten.size() - 1;
   int zufälligerindex = random.nextInt(abzufragendeKoordinaten.size() - 1) + 0;

zufälligeMöglicheyPosition = abzufragendeKoordinaten.get(zufälligerindex).gety();
    
zufälligeMöglichexPosition = abzufragendeKoordinaten.get(zufälligerindex).getx();
abzufragendeKoordinaten.remove(zufälligerindex);

System.out.println("stringarray[" + zufälligeMöglicheyPosition + "] [" + zufälligeMöglichexPosition + "] = " + stringarray[zufälligeMöglicheyPosition] [zufälligeMöglichexPosition]);
 
}
}
}

Der Code zur Klasse xyPosition ist einfach und hier liegt der Fehler bestimmt nicht drin:

public class xyPosition {

static int x;
static int y;
public static Object xyPosition;
    
public xyPosition(int pX, int pY) {
x = pX;
y = pY;
    }

public int getx() { return x; }
public int gety() { return y; }
}

Bilder habe ich hier nur wegen der "nicht mehr genug Zeichen" - Funktion verw.
Biite helft mir, ich sitze schon seit 2 Tagen vor diesem Bug🤬

Bild zum Beitrag
Software, programmieren, Java, Informatik, Programmiersprache, Softwareentwicklung

Java Referenzdatentypen?

Mir ist ein bestimmter Aspekt, und zwar der Sinn einer Referenz noch nciht ganz klar geworden:

Primitiver Datentyp:

int zahl = 8;

Hier wird ja mit der Deklarierung der Variable zahl eine Adresse für einen gerade freien Speicherplatz erzeugt und in diesem Speicherort der Wert der Variable, 8, abgelegt.
So wie in meiner Zeichnung:

Referenzdatentyp:

Mensch mensch1 = new Mensch(16); //16 = pAlter

Hier wird auch mit der Variable einem gerade freien Speicherplatz eine Adresse zugeordnet. Dann wird in dem freien Speicherplatz, glaube ich, nichts (kein Variablen Wert (new Mensch(16) ) ) abgelegt, sondern nur eine komplett andere Adresse. Folgt man dieser Adresse und guckt in dem durch sie verwiesenen Speicherplatz nach, findet man da unseren Variablen - Wert = new Mensch(16).
Wie in meiner Zeichnung hier:

Was ich jetzt nicht so richtig verstehe ist, warum wird unser Variablenwert (unser neues menschen - objekt) unter einer anderen Adresse abgelegt, als der, der der Variable "mensch1"eigentlich zugeordnet wurde? Sprich: Wozu eine Referenz auf eine andere Adresse (ich glaube immer Referenz auf eine andere Adresse, vielleicht ist es aber auch in WIrklichkeit eine Referenz auf das neue Menschen Objekt?)? Warum nicht so wie beim primitiven Datentypen machen, also so wie bei meiner Zeichnung hier unten?:

omg, diese logik - aber es macht mir Spaß, zu programmieren und ich möchte alles unbedingt verstehen !😊

Bild zum Beitrag
Software, Schule, IT, programmieren, Java, Informatik, Programmiersprache, Softwareentwicklung

Unity - Object reference not set to an instance of an object?

Hallo, weiß jemand wie ich in Unity diesen NullReferenceException Fehler beheben bzw. fixen kann? Kenne mich noch nicht so richtig mit C# und Unity aus. Daher weiß ich auch nicht, wie ich mit diesen Fehler umgehen kann. Habe in Unity 3D eine Shop Scene gemacht, und habe dann dieses Script für die Buttons und den Shop allgemein gemacht, um Skins kaufen zu können und die Game Coins mit den Buttons zu verbinden. Ich habe ein "Debug.Log" erstellt. Um zu schauen, dass wenn ich auf den Button klicke, in der Konsole dann steht als Beispiel "Button wurde geklickt!" doch stattdessen steht dort immer als Fehler "NullReferenceException: Object reference not set to an instance of an object

ShopManager.Start () (at Assets/Scripts/Best/ShopManager.cs:15)"

Hier ist das Script für den Shop, und die Buttons. (C#):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class ShopManager : MonoBehaviour
{


    public int kontostand;
    public Text kontostandText;


    // Start is called before the first frame update
    void Start()
    {
        kontostandText.text = kontostand.ToString();
    }


    public void ItemKaufen(int itemPreis)
    {
        // Kontostand überprüfen
        if(kontostand >= itemPreis)
        {
            Debug.Log("Item wurde gekauft");
            // Item zum Inventar hinzufügen
            // Kontostand neu berechnen
            kontostand = kontostand - itemPreis;
            // Kontostand aktualisieren
        }
        
    }

Ich hatte mir ein Tutorial dazu angeschaut wie man es behebt, doch leider ohne Erfolg.

Weiß jemand, was das bedeutet/heißt und wie man es am einfachsten beheben kann, und wo da im Script der Fehler ist? Es soll ja angeblich in Zeile 15 sein. Ich hoffe, ihr versteht meine Message dazu ein wenig. Vielen Dank im voraus! :D

Bild zum Beitrag
Computer, Fehler, programmieren, C Sharp, Programmiersprache, Unity 3D, Visual Studio, Error Code, Unity, Spiele und Gaming

H IL F E! Informatik Bug🤯!?

Java

habe eine klasse PriorityQueue. Diese speichert Objekte der Klasse QueueInhalt in einem Array namens queueinhalte. Die QueueInhalte - Objekte wiederrum speichern jeweils einen Verweis auf ein ein Objekt der Klasse ContentTypePerson.
Der Code der Klasse QueueInhalt ist kurz:

Das hier ist die add - Methode aus der PriorityQueue, jedenfalls der Teil für den Fall, wenn die Priorität des ContentTypePerson - Objektes (, wleches ja widerrum in einem QueueInhalt - Objekt gespeichert ist,) größer als Die des im Array am vordersten gelegenen Elements ist.

Es gibt auch noch eine Methode in der Klasse PriorityQueue, um den ArrayInhalt und so auszugeben (ich glaube, da liegt der folgende Fehler aber nicht):

Jetzt kommts: Ich habe ein Array der Größe 2 erstellt, ein Objekt ContentTypePerson mit dem Namen "A" erstellt und ihm beim Aufrufen der add Methode die Priorität 3 gegeben.
Beim Aufrufen der Methode gibInhalteDesArraysAus() kommt dann ensprechend:

Dann adde ich noch ein ContentTypePersonPerson - Objekt namens "B", diesmal mit der Priorität 4, damit der oben gezeigte Teil der add - Methode ausgeführt wird.
Doch dann wird ausgegegeben:

anstatt:
Inhalte: QueueInhalt@d54b68 (Name: B Priorität: 44) | QueueInhalt @17e26a8 (Name: A Priorität: 43)

HILFE! Wo ist der Bug? Ich sitze schon seit zwei Stunden hier fest! Sorry für so viele Bilder Code, ich bin mir nicht sicher in welchem Codeteil der Fehler liegen könnte

Bild zum Beitrag
Software, Schule, programmieren, Java, Informatik, Programmiersprache, Softwareentwicklung

Meistgelesene Beiträge zum Thema Programmiersprache